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 に答える