检查datatable中的gridview内容

时间:2017-03-14 16:28:55

标签: c# asp.net checkbox datatable aspxgridview

我需要在点击按钮的数据表中存储所有复选框选中的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);
        }
    }
}

1 个答案:

答案 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 dtCheckbox chk永远不会有效。您使用的是Visual Studio等编辑器吗?