0

datagridview 内に dowpdownlist、ボタン、およびチェックボックスがあります。

データグリッドビューにチェックボックス列を手動で作成しただけです。(ここにコードがあります)

DataGridViewCheckBoxColumn CheckboxColumn = new DataGridViewCheckBoxColumn();
            CheckBox chk = new CheckBox();
            CheckboxColumn.Width = 20;
            DataGrid1.Columns.Add(CheckboxColumn);

手順は次のとおりです。
ステップ 1: ユーザーはチェックボックスの項目を選択します。
ステップ 2: ユーザーはドロップダウンで項目を選択します。
ステップ 3: ユーザーがボタンをクリックすると
、ドロップダウンリストで選択されたアイテムの前にあるチェックボックスのアイテム名が変更されます。

ここにボタンをクリックした後の私の問題がありますが、何も起こりません。

ここに私のコードがあります。

private void button1_Click(object sender, EventArgs e)
        {
    int x = 0;
                foreach (DataGridViewRow item in this.DataGrid1.SelectedRows)
                {
                    DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)item.Cells[1];
                    if (chk.Selected)
                    {
                    // codes here
                    }
                    else
                    {
                    //code here
                    }
                }
                x = x + 1;
         }
4

2 に答える 2

0

私が最初に呼ぶことをお勧めすること:

DataGrid1.EndEdit();

以来、グリッド列からチェックボックスの値を取得する前にこの行が欠落していると、入力が期待どおりに表示されない場合があることを経験しました。

だからこのようなもの:

private void button1_Click(object sender, EventArgs e)
{
    int x = 0;
    foreach (DataGridViewRow item in this.DataGrid1.SelectedRows)
    {
        DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)item.Cells[1];

        if (chk.Value)
        {
              // codes here for checked condition
        }
        else
        {
              //code here  for UN-checked condition
        }
      }
     x = x + 1;
 }
于 2012-11-12T09:41:41.947 に答える