0

我进行了艰苦的搜索,但无法找到如何检查已选中的 datagridview 复选框

我正在使用 C# 代码,我想知道如何检查已选中哪些复选框并保存行索引,以便我可以查看数据网格视图信息

我已经添加了复选框

到目前为止,这是我的代码“

dataGridView1.ColumnCount = 3;
            dataGridView1.Columns[0].Name = "Product ID";
            dataGridView1.Columns[1].Name = "Product Name";
            dataGridView1.Columns[2].Name = "Product Price";

            string[] row = new string[] { "1", "Product 1", "1000" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "2", "Product 2", "2000" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "3", "Product 3", "3000" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "4", "Product 4", "4000" };
            dataGridView1.Rows.Add(row);

            DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn();
            dataGridView1.Columns.Add(chk);
            chk.HeaderText = "Check Data";
            chk.Name = "chk";

"

4

2 回答 2

3

尝试使用此代码:

for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
        {


            GridViewRow row = GridView1.Rows[i];
            CheckBox Ckbox = (CheckBox)row.FindControl("CheckBox2");
            if (Ckbox.Checked)
            {
               //........

            }
        }
于 2012-10-08T13:32:56.470 回答
1
foreach(DataGridViewRow row in datagridview.Rows)
{
    foreach(DataGridViewCell cell in row.Cells)
    {
        if(cell is DataGridViewCheckBoxCell)
        {
            isChecked = (datagridview.GetChildByPoint(new Point(cell.ColumnIndex, cell.RowIndex)) as CheckBox).Checked;
        }
    }
}

这可能会解决您的问题。如果您设置了列的 TrueValue 和 FalseValue,那么您可以更轻松地根据这些值检查当前值并推断其检查状态。

于 2012-10-08T12:37:47.130 回答