DataGridView和复选框
本文关键字:复选框 DataGridView | 更新日期: 2023-09-27 18:13:52
我正在制作一个应用程序,其中有一个带有按钮和datagridview的页面。
数据来自MySQL,人口是这样做的:
this.ObjectsTable.Rows.Add(Objects.GetValue(index, 0),
Objects.GetValue(index, 1),
Objects.GetValue(index, 2),
Objects.GetValue(index, 3));
问题:
我无法选中复选框。字面上。当我点击它的时候,它就跑了到"pressed/onPress"状态,但永远不会变为"checked"。
如何解决这个问题?以及如何获取其复选框被选中的行?我想创建一个数组,然后遍历它们
首先检查您的DataGridView
是否为Enabled
或不是ReadOnly
,如果这没有帮助检查Column
是否非只读。
问题答案的第二部分取决于你是否想立即知道哪个CheckBox
被选中或没有。如果是,则使用此事件:
private void GridCellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0 || e.ColumnIndex < 0)
{
return;
}
if (dataGridView1[e.ColumnIndex, e.RowIndex] is DataGridViewCheckBoxCell)
{
var check = (dataGridView1[e.ColumnIndex, e.RowIndex].Value as bool?) ?? false;
if (check)
{
//checked
}
}
}
或者只是遍历所有行,并使用复选框检查单元格的值:
foreach (DataGridViewRow row in dataGridView1.Rows)
{
var check = (row.Cells[0].Value as bool?) ?? false;
}