从代码检查datagridview复选框不会在UI上对其进行检查

时间:2019-01-29 10:42:20

标签: c# datagridview

我正在从我的app.config中加载数据库列表,我想检查这些数据库上的datagridview复选框。当我调试该方法时,它会分配一个true值,但在UI上不会更改,并且checkbox的值仍为false。

该方法在InitializeComponent()之后显示我的Windows窗体之前运行。如果我单击该按钮,则在加载Windows窗体后调用相同的方法,它可以用作超级按钮。虽然不会自动。 之所以这样做,是因为我想在每次启动该应用程序时使用所有检查重新创建我的datagridview,这确实困扰了我。在分配值之前,我尝试刷新和更新dataGridView,提交更新,结束更新,还尝试将复选框列上的属性“ TrueValue”设置为true,但这无济于事。

private void CheckDatabasesFromConfig()
        {
            for (int i = 0; i < SQLDatabases.RowCount; i++)
            {
                if (listOfDatabasesToBackup.Contains(SQLDatabases.Rows[i].Cells["Database Name"].Value))
                {
                    SQLDatabases.Rows[i].Cells["Backup"].Value = true;
                }

            }
        } 

我想打开应用程序,并在我的datagridview上看到根据此列表选中的复选框,而无需单击任何东西。

2 个答案:

答案 0 :(得分:0)

Cells [“数据库名称”]中的“数据库名称”不是有效的标识符,因此“ if”表达式始终为false。 更正您在dataGridView中定义的列名。

答案 1 :(得分:0)

我设法解决这个问题 - 我为误传抱歉。我在tabcontrol的第二页中有datagridview,并且由于没有打开它,所以控件没有加载。 在调用我的方法之前,它有助于执行一个简单的tabPage2.show()。