向数据绑定Datagridview添加行,而某些列不可见?

时间:2012-03-30 11:54:45

标签: .net datagridview dataset

我有一个DataGridView,它已使用表单设计器绑定到单个ODBC数据库表。

ODBC源是Informix数据库,相关表包含一个自动递增列,用于生成表的主键。还有另一列依赖于表单上的设置。这两列都设置为Visible = False

当我允许“启用添加”DataGridView设置并向DataGridView添加新行时,我得到第二列不允许空值的错误(这是正确的)。

有没有什么方法可以让我们允许用户直接向DataGridView添加行,然后以编程方式设置这个缺失的值,例如,一个事件,或者我是否必须求助于“添加新行”按钮向DataSource添加一个新行?

1 个答案:

答案 0 :(得分:4)

您可以使用DefaultValuesNeeded事件为DataGridView提供默认值。

代码看起来像这样:

private void dataGridView1_DefaultValuesNeeded(object sender,
    System.Windows.Forms.DataGridViewRowEventArgs e)
{
    e.Row.Cells["Region"].Value = "WA";
    e.Row.Cells["City"].Value = "Redmond";
    e.Row.Cells["PostalCode"].Value = "98052-6399";
    e.Row.Cells["Country"].Value = "USA";
    e.Row.Cells["CustomerID"].Value = NewCustomerId();
}