DataGridView数据源为空时如何使用DIsable按钮? C#

时间:2015-09-04 14:38:39

标签: c# datagridview

DataGridView的空DataTableDataSource。当主窗体加载时,它将显示一个空DataGridView,因此用户可以在其上输入数据。我想在Save Data为空时禁用DataGridView菜单。我试过这段代码:

private void dGV_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {

            DataTable dt = dGV.DataSource as DataTable;
            int d = dt.Columns.Count + 1;
            foreach (var column in dt.Columns.Cast<DataColumn>().ToArray())
            {
                if (dt.AsEnumerable().All(dr => dr.IsNull(column)))
                    d--;
            }
            if (d > 0)
            {
                saveDataToolStripMenuItem.Enabled = true;
            }
            else {
                saveDataToolStripMenuItem.Enabled = false;
            }
        }

表单加载时将禁用Save Data菜单

enter image description here

,当我在dGV上输入值时,它将被启用。 enter image description here

但是当我删除该值并且Save Data再次变为空时,dGV菜单将不会被禁用。

enter image description here

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

1-当表单加载时,检查如果dGV为空,则将菜单按钮设置为禁用。

2-创建新条目时,启用按钮。

3-单击“删除”按钮时。检查dGV是否为空或有记录,如果为空,则再次禁用菜单项。