[英]selecting checkbox inside datagridview c#
我在datagridview中有一个dowpdownlist,一个按钮和一个复选框。
我只是在datagridview上手动创建了一个复选框列。 (这是代码)
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;
}
*编辑**
我已经对此进行了测试,它肯定有效。 将其复制并粘贴到新项目中,然后使用它。 它应该可以帮助您到达所需的位置。
private void Form1_Load(object sender, EventArgs e)
{
DataGridViewCheckBoxColumn checkBox = new DataGridViewCheckBoxColumn(true);
checkBox.HeaderText = "T/F";
dataGridView1.Columns.Add(checkBox);
}
private void button1_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)row.Cells[0];
if (Convert.ToBoolean(chk.Value) == true)
{
MessageBox.Show("Value Is True");
}
}
}
我建议致电的第一件事:
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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.