检查 DataGridVIew C# 中 CheckBoxCell 的值

问题描述 投票:0回答:1

我在数据网格视图中显示了数据库中的一些记录,用于查看和选择数据。我需要一种方法让用户选择单个记录以将数据导出到格式化的 PDF 文档中,因此我设置了一个 CheckBoxColumn。我的数据库和后续的数据网格视图与包含基本客户信息和与之关联的帐户的另一个数据网格视图同时设置。当我在网格视图中显示的关联记录上选择客户时,我会串联使用网格视图。这意味着,如果用户想要选择多个客户记录,他们就无法做到。为了解决这个问题,我想记录已检查的记录,然后在生成 PDF 时从记录中提取数据。我的问题是确定检查了哪些记录。

private void Accounts_DataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    foreach (DataGridViewRow row in accounts_DataGridView.Rows)
    {
        DataGridViewCheckBoxCell cell = row.Cells[0] as DataGridViewCheckBoxCell;

            if (cell.Value == cell.TrueValue)
            {
                MessageBox.Show("its checked");
            }
        }
    }
}

这是我目前拥有的代码。事件处理功能正确,但值始终返回 null。

My DataGridView for reference

c# database datagridview datagridviewcheckboxcell
1个回答
0
投票

我过去也遇到过同样的问题,但我从未让它与 TrueValue 属性一起使用。 我使用了如下所示的 cell.Value 属性,并且我能够继续我的项目,而无需深入研究可能在后台发生的 DataGridView 事件。

if (cell.Value != null)
{
    string s = cell.Value.ToString();
    if (s == "True")
    {
       MessageBox.Show("its checked");   
    }
}

希望对您和您所问的问题有帮助

© www.soinside.com 2019 - 2024. All rights reserved.