动作取决于两个事件激活

时间:2014-02-04 08:24:33

标签: .net events datagridview

目标: 我想在用户点击“添加新行 - 按钮”后在DGV中设置默认值。

问题: 我无法在.click事件中设置datacolumn.defaultvalue,因为尚未创建新列。 从那时起,我无法在datagridview.rowadded事件中设置datacolumn.defaultvalue,当我加载DGV时,它正在尝试为dgv中的每一行设置defaultvalue(我从sql server加载我的数据集)。但它应该只为添加的新行添加默认值。

解决方案: 我试过很多事情都没有用。也许有可能结合这些事件。喜欢 如果事件1和事件2那么。但我不知道如何。

1 个答案:

答案 0 :(得分:0)

订阅DataGridView.DefaultValuesNeeded事件,并在事件处理程序中添加默认值。

例如,请参阅此MSDN链接。但请仔细阅读备注部分,因为每种操作模式(数据绑定或虚拟)的行为都不同。

如果使用基础DataTable添加新行,则将默认值设置如下。

DataTable table = dataGridView1.DataSource as DataTable;
if (table != null)
{
    DataRow row = table.NewRow();
    row["columnName"] = defaultValue;
    table.Rows.Add(row);                
}