|
|
|
สร้าง Checkbox ใน gridview ทำไงครับ ขอแบบละเอียดหน่อยนนะครับ |
|
|
|
|
|
|
|
Web ASP.NET หรือ Windows App ครับ
|
|
|
|
|
Date :
2012-07-11 20:39:15 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่เลยครับ
แล้วข้อมูลที่แสดงขึ้นมาอะครับ มันขึ้นมาจากdatabase เปล่าอะ ครับ(ข้อมูลที่ขึ้นมา นี่หมายถึงใน gridview อะ ครับ)
|
|
|
|
|
Date :
2012-07-11 23:34:28 |
By :
bakitheone |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สำหรับตัวอย่างนี้จะเป็นภาษา VB.NET แต่ถ้าหากต้องการใช้ภาษา C# สามารถอ่านได้ที่บทความนี้
Go to : (C#) ASP.NET GridView Control - FindControl
ถ้าผมจะเขียนด้วย c# มันต้องใช้บทความมนี้ไหมอะครับ
(ถ้าใช่ ผมงงโค้ดอะครับ โค้ดที่โชว์ มานั้น อยู่ในหน้าเดียวกันเลยยหรอ ครับ หรือยู่คนละหน้าอะครับ)
|
|
|
|
|
Date :
2012-07-11 23:51:04 |
By :
bakitheone |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่แล้วครับ แปลง C# ได้ไม่ยากครับ
|
|
|
|
|
Date :
2012-07-12 06:05:52 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมแปลงเป็น C# ให้ครับ
Code (C#)
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Data.OleDb;
partial class _Default : System.Web.UI.Page
{
OleDbConnection objConn;
OleDbCommand objCmd;
protected void Page_Load(object sender, System.EventArgs e)
{
string strConnString = null;
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/App_Data/mydatabase.mdb") + ";";
objConn = new OleDbConnection(strConnString);
objConn.Open();
if (!Page.IsPostBack()) {
BindData();
}
}
protected void BindData()
{
string strSQL = null;
strSQL = "SELECT * FROM customer";
OleDbDataReader dtReader = null;
objCmd = new OleDbCommand(strSQL, objConn);
dtReader = objCmd.ExecuteReader();
//*** BindData to GridView ***'
myGridView.DataSource = dtReader;
myGridView.DataBind();
dtReader.Close();
dtReader = null;
}
protected void myGridView_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) {
//*** CustomerID ***'
Label lblCustomerID = (Label)e.Row.FindControl("lblCustomerID");
if ((lblCustomerID != null)) {
lblCustomerID.Text = e.Row.DataItem("CustomerID");
}
//*** Name ***'
Label lblName = (Label)e.Row.FindControl("lblName");
if ((lblName != null)) {
lblName.Text = e.Row.DataItem("Name");
}
//*** Email ***'
Label lblEmail = (Label)e.Row.FindControl("lblEmail");
if ((lblEmail != null)) {
lblEmail.Text = e.Row.DataItem("Email");
}
//*** CountryCode ***'
Label lblCountryCode = (Label)e.Row.FindControl("lblCountryCode");
if ((lblCountryCode != null)) {
lblCountryCode.Text = e.Row.DataItem("CountryCode");
}
//*** Budget ***'
Label lblBudget = (Label)e.Row.FindControl("lblBudget");
if ((lblBudget != null)) {
lblBudget.Text = Strings.FormatNumber(e.Row.DataItem("Budget"), 2);
}
//*** Used ***'
Label lblUsed = (Label)e.Row.FindControl("lblUsed");
if ((lblUsed != null)) {
lblUsed.Text = Strings.FormatNumber(e.Row.DataItem("Used"), 2);
}
}
}
protected void Page_Unload(object sender, System.EventArgs e)
{
objConn.Close();
objConn = null;
}
protected void Button1_Click(object sender, System.EventArgs e)
{
CheckBox CheckID = default(CheckBox);
Label lblCustomerID = default(Label);
int i = 0;
Label1.Text = "";
for (i = 0; i <= myGridView.Rows.Count - 1; i++) {
CheckID = myGridView.Rows(i).FindControl("CheckID");
lblCustomerID = myGridView.Rows(i).FindControl("lblCustomerID");
if (CheckID.Checked == true) {
//*** Have lblID.Text ***'
this.Label1.Text = this.Label1.Text + "<br>" + lblCustomerID.Text;
}
}
}
public _Default()
{
Unload += Page_Unload;
Load += Page_Load;
}
}
ส่วนอื่น ๆ เข้าไปดูในบทความ GridView ได้เลยครับ
|
|
|
|
|
Date :
2012-07-12 06:07:13 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.ispostback เป็น property ไม่ใช่ methid
2.หา mygridview ไม่เจอ
3.e.row.dataitem เป็น correction (คล้ายๆ array) ไม่ได้ใช้แบบนั้น ต.ย. น่าจะประมาณแบบนี้ (..type..)e.row.dataitem["xxxxx"]
4.หา label1 ไม่เจอ
หาหนังสือซักเล่มเป็น referance จะดีกว่า เพราะดูเหมือนไม่มีพื้นเลย เขียนโปรแกรมอาศัยฟลุคไม่ได้หรอก
|
|
|
|
|
Date :
2012-07-12 11:55:35 |
By :
อิอิ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|