我需要在点击按钮的数据表中存储所有复选框选中的gridview行的特定列。我试过这段代码。但是没有任何东西存储在datatable dt和string变量str中。如何实现我的要求..请帮助......
Protected void btnmail_click(object sender EventArgs e)
{
datatable dt = new DataTable();
foreach (GridViewRow gvrow in grd.Rows)
{
Checkbox chk = (Checkbox)gvrow.FindControl("chkrow");
if (chk.Checked == true)
{
string str = gvrow.Cells[1].Text;
dt.Rows.Add(str);
}
}
}
答案 0 :(得分:0)
您可以使用此代码段。首先,您需要创建一个DataTable并向其添加列。然后,您可以将选中的行添加到DataTable。
protected void Button1_Click(object sender, EventArgs e)
{
//create a datatable
DataTable table = new DataTable();
//add one or more colums to the datatable
table.Columns.Add("ID", typeof(int));
table.Columns.Add("Text", typeof(string));
//loop the gridview rows
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (chk.Checked == true)
{
string str = GridView1.Rows[i].Cells[1].Text;
//add a new row to the datatable
table.Rows.Add(i, str);
}
}
}
P.S。 C#区分大小写,datatable dt
和Checkbox chk
永远不会有效。您使用的是Visual Studio等编辑器吗?