 |
|
|
 |
 |
|
Code (VB.NET)
Dim myarr As Object(,) <<< เอา array ของ Object แล้วกัน จะเอาไปเก็บอะไรก็ตามใจ
ReDim myarr(10, 10)
For i As Integer = 1 To 10
For j As Integer = 1 To 10
'do something
Next
Next
ไม่รู้ผมเข้าใจคุณถูกหรือเปล่า ไม่เคลียร์เท่าไหร่
|
 |
 |
 |
 |
Date :
2010-02-18 16:14:43 |
By :
numenoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คืออย่างนี้นะครับ ผมมี datagrid แสดง 10 record ต่อ 1 หน้า แล้วข้างหน้าจะมี checkbox อยู่สำหรับอ่านค่า field 2 field คือ "a" กับ "b" ซึ่งสามารถเลือกได้หลาย record ที่ต้องการคือ ต้องการให้ array loop ไปรับค่า datagrid ที่ถูกเลือกแล้วเก็บใน array เพื่อที่จะได้อ้าง array ได้ถูกเวลาจะเอาค่าไปใช้ครับ
|
 |
 |
 |
 |
Date :
2010-02-19 08:49:25 |
By :
Jumyut |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คิด algorithm แล้วสิ แต่ไม่รู้วิธีโค้ด อิอิ
ไม่ต้องเก็บใส่ array หรอก แต่ gridview อย่างเดียวก็เอาอยู่
ก็วนลูป rows ใน gridview แล้วตรวจสอบค่าใน checkboxfield ก็รู้แล้วว่า rows ไหนถูกเลือกไว้
แค่อ้างอิงแต่ละ cell ของ gridview ให้ถูกต้องก็ทำได้แล้ว
|
 |
 |
 |
 |
Date :
2010-02-19 09:06:12 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้ววิธีการอ้างละครับ คือตอนนี้ผมสามารถทำให้รู้ว่า record ไหนถูกเลือกละค่าก็ get ออกมาได้อย่างถูกต้องโดยให้โชว์โดย label แต่ที่ติดปัญหาคือ จะทำยังไงให้ค่าที่โชว์ใน label นี้ส่งไปยัง function ของ javascript เพื่อที่จะทำงานต่อไป คืองานที่ผมทำคือ หากเพื่อนเคยได้ยิน google map API ก็คงเข้าใจ ได้ไม่ยาก ผมต้องการคลิกเลือกที่ checkbox หน้า record นั้นๆแล้วส่งค่าไปให้ function javascript ในการปักหมุดบนแผนที่ของ google map ซึ่งใน 1 หน้า สามารถเลือก record ได้หลายอันครับ
|
 |
 |
 |
 |
Date :
2010-02-19 09:13:43 |
By :
๋Jumyut |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งั้นต้องทำความเข้าใจกับ server script กับ client script ก่อนนะ
gridview ก็ server control ทำงานฝั่ง server
ส่วน javascript เป็น client script ทำงานฝั่ง client
จะให้ค่าจาก server control ส่งไปให้ client script ทำงาน
ก็ส่งเป็น text ไปสิครับ แล้วเขียนเป็น parameters ให้ javascript ทำงาน
เข้าใจไหมเนี่ย -_-"
คือให้ server script ทำการ generate client script ออกไปให้ไปทำงานในฝั่ง client ไง
|
 |
 |
 |
 |
Date :
2010-02-19 09:23:21 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมลองหาใน net แล้ว ไม่มีที่ต้องการเลยครับ รบกวนขอ code ด้วยนะครับงานด่วนจริงๆครับ
ขอบคุณนะครับ
|
 |
 |
 |
 |
Date :
2010-02-19 09:31:19 |
By :
Jumyut |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (C#)
dataGridViewAB.Rows.Add(10);//ลองใส่ rows สัก 10 rows
dataGridViewAB.Rows[1].Cells[1].Value = true;//ลองใส่ค่า true
object[,] obj = new object[dataGridViewAB.Rows.Count-1,dataGridViewAB.ColumnCount];
for(int i = 0; i < dataGridViewAB.Rows.Count-1; i++)
{
for(int j = 0; j < dataGridViewAB.ColumnCount; j++)
{
obj[i,j] = dataGridViewAB.Rows[i].Cells[j];
}
}
DataGridViewCheckBoxCell dcb = (DataGridViewCheckBoxCell)obj[1,1];ลอง get ค่า
string b = dcb.Value.ToString();//ได้ True
ส่วนเรื่องส่งค่าไป javascript ก็เดี๋ยวลองดูใหม่
|
 |
 |
 |
 |
Date :
2010-02-19 09:45:30 |
By :
numenoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
หาใน net มันจะมีตรงที่เราต้องการเลยได้ไงเล่า ถ้าเจอก็คงทำบุญมาดีแน่ๆ
วันนี้ไม่มีเวลาทำให้หรอก คงต้องทำเองแล้วแหละ ส่วนตัวอย่างการ generate javascript
ให้ asp.net ก็ตามนี้ แต่เป็น c# นะ เป็น script สำหรับ show/hide
MyPage.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:CheckBox ID="CheckBox1" runat="server" />
<asp:Panel ID="Panel1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
</asp:Panel>
</div>
</form>
</body>
</html>
MyPage.aspx.cs
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class MyPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
CheckBox1.Attributes.Add("OnClick", "ck_frm()");
AddJavaScript();
}
private void AddJavaScript()
{
// Build the JavaScript String
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script language=\"javascript\">\n");
sb.Append("function ck_frm()\n");
sb.Append("{\n");
sb.Append("\t var ck = document.getElementById('");
sb.Append(CheckBox1.ClientID);
sb.Append("');\n");
sb.Append("\t var dv = document.getElementById('");
sb.Append(Panel1.ClientID);
sb.Append("');\n\n");
sb.Append("\t if (ck.checked == true)\n");
sb.Append("\t {\n");
sb.Append("\t\t dv.style.display = '';\n");
sb.Append("\t }\n");
sb.Append("\t else\n");
sb.Append("\t {\n");
sb.Append("\t\t dv.style.display = 'none';\n");
sb.Append("\t }\n}\n");
sb.Append("</script>\n\n");
// Register the script code with the page.
ClientScriptManager cs = Page.ClientScript;
if (!cs.IsClientScriptBlockRegistered(this.GetType(), "ck_frm"))
cs.RegisterClientScriptBlock(this.GetType(), "ck_frm", sb.ToString(), false);
}
}
|
 |
 |
 |
 |
Date :
2010-02-19 09:45:43 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|