读取在Datatable C#中动态创建的Checkbox值

时间:2018-12-18 16:12:52

标签: c# checkbox datatable

我有这段代码可以动态创建我的复选框。我有几列复选框和几行,因此它必须是完全动态的。

我不知道如何读取复选框的值,并想寻求帮助。顺便说一句,我想将值保存在多维数组中。

Meldungtable.Columns.Add("Warnungen", typeof(string));

  for (int meldungcnt = 0; meldungcnt < SPSWarnungsBausteinArray.Length; meldungcnt++)
  {
    Meldungtable.Rows.Add(SPSWarnungsBausteinArray[meldungcnt]);
  }
  WarnungenDataGridView.DataSource = Meldungtable;

  for (int kameracnt = 1; kameracnt <= Kameraanzahl; kameracnt++)
  {
    DataGridViewCheckBoxColumn Kamerachk = new DataGridViewCheckBoxColumn();
    Kamerachk.HeaderText = "Kamera" + kameracnt;
    Kamerachk.Name = "KameraChkBox" + kameracnt;
    Kamerachk.Width = 70;
    WarnungenDataGridView.Columns.Add(Kamerachk);
  }

我会逐行阅读并检查我之前分配的复选框名称,但是当我以另一种方法读取数据时,我认为这不可行。

请帮助

显示

 foreach (DataGridViewRow row in WarnungenDataGridView.Rows)
  {
    for (int col = 1; col < WarnungenDataGridView.ColumnCount; col++)
    {
      //DataGridViewCheckBoxCell cell = (DataGridViewCheckBoxCell)row.Cells[col];
      WarnungenDataGridView.Rows[row.Index].Cells[col].Value = "true";

    }
  }

1 个答案:

答案 0 :(得分:0)

foreach (DataGridViewRow row in WarnungenDataGridView.Rows)
{
    DataGridViewCheckBoxCell CheckedCell = row.Cells[0] as DataGridViewCheckBoxCell; 

    if (CheckedCell.Value != null)
    {
        if (CheckedCell.Value == CheckedCell.TrueValue)
        {
           //It's checked! do something within your code where necessary 
        }  
    }              
}