【问题标题】:Checking a checkbox in DataGridview whether it is checked or not?检查DataGridview中的复选框是否被选中?
【发布时间】:2014-04-19 18:25:25
【问题描述】:

我有 DataGridView 在 Windows 窗体中,其中包含 13 个复选框。一个复选框 i-e(第一个)是检查基本上几个月的所有其他复选框。所以现在我希望当我选中第一个复选框时,所有其他复选框都应该被选中,当我取消选中第一个复选框时,所有复选框都应该被取消选中。当我选中第一个复选框时,我的代码工作正常,但是当我取消选中第一个复选框时,仍然选中了所有复选框。但我希望它们不受检查。我使用了CellContentClick 事件。
这是我的代码。

if (e.ColumnIndex == 1)
{
    for (int k = 2; k <= 13; k++)
    {
        DataGridViewCell cell = dataGridView1.Rows[e.RowIndex].Cells[k];
        DataGridViewCheckBoxCell checkCell = cell as DataGridViewCheckBoxCell;
        checkCell.Value = true;
    }
}

【问题讨论】:

    标签: c# checkbox datagridview


    【解决方案1】:

    Value 返回一个对象类型,不能与布尔值进行比较。您可以将值转换为 bool

     if ((bool)row.Cells[1].Value == true)
            {
                // what I want to do
            }
    

    试试这个:

     foreach (GridViewRow gvrow in gvDetails.Rows)
            {
                CheckBox chk = (CheckBox)gvrow.FindControl("chkSelect");
                if (chk != null & chk.Checked)
                {
                    str += gvDetails.DataKeys[gvrow.RowIndex].Value.ToString() + ',';
                    strname += gvrow.Cells[2].Text + ',';
                }
            }
    

    【讨论】:

    猜你喜欢
    • 2021-07-16
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 2018-12-17
    • 2014-01-11
    • 2015-06-25
    相关资源
    最近更新 更多