首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选中DataGridView上的所有复选框项目

选中DataGridView上的所有复选框项目
EN

Stack Overflow用户
提问于 2012-11-06 08:54:12
回答 7查看 61.4K关注 0票数 7

这是一个场景。

我有checkbox(名称:“全部检查”ID:chkItems)和datagridview。当我单击此复选框时,datagridview上的所有复选框也将被选中。

我还在网格上添加了复选框列。

代码语言:javascript
复制
DataGridViewCheckBoxColumn CheckboxColumn = new DataGridViewCheckBoxColumn();
CheckBox chk = new CheckBox();
CheckboxColumn.Width = 20;
GridView1.Columns.Add(CheckboxColumn);

这是checkbox后面的代码。row.Cell上出现问题

代码语言:javascript
复制
private void chkItems_CheckedChanged(object sender, EventArgs e)
{
    foreach (DataGridViewRow row in GridView1.Rows)
    {
        DataGridViewCheckBoxCell chk = e.row.Cells(0);
        if (chk.Selected == false)
        {
            row.Cells(0).Value = true;
        }
    }
}   
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-11-06 09:00:35

代码语言:javascript
复制
DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell) row.Cells[0];

而不是

代码语言:javascript
复制
DataGridViewCheckBoxCell chk = e.row.Cell(0);

*EDIT:*我认为你真的想这么做:

代码语言:javascript
复制
foreach (DataGridViewRow row in dataGridView1.Rows)
{
       DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell) row.Cells[0];
       chk.Value = !(chk.Value == null ? false : (bool) chk.Value); //because chk.Value is initialy null
}
票数 16
EN

Stack Overflow用户

发布于 2016-09-29 11:40:39

代码语言:javascript
复制
    private void setCheckBoxInDataGrid(DataGridView dgv, int pos, bool isChecked)
    {
        for (int i = 0; i < dgv.RowCount; i++)
        {
            dgv.Rows[i].DataGridView[pos, i].Value = isChecked;
        }
    }

我就是这么做的

票数 3
EN

Stack Overflow用户

发布于 2017-06-28 09:20:31

试试这个

代码语言:javascript
复制
foreach (DataGridViewRow row in this.dataGridView1.Rows)
{
      row.Cells[0].Value = row.Cells[0].Value == false ? true : false;

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13242861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档