我有一个DataGridView,它已使用表单设计器绑定到单个ODBC数据库表。
ODBC源是Informix数据库,相关表包含一个自动递增列,用于生成表的主键。还有另一列依赖于表单上的设置。这两列都设置为Visible = False
。
当我允许“启用添加”DataGridView设置并向DataGridView添加新行时,我得到第二列不允许空值的错误(这是正确的)。
有没有什么方法可以让我们允许用户直接向DataGridView添加行,然后以编程方式设置这个缺失的值,例如,一个事件,或者我是否必须求助于“添加新行”按钮向DataSource添加一个新行?
答案 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();
}