2012-03-30 79 views
0

我有一个DataGridView,我已经绑定到一个单一的ODBC数据库表使用窗体设计器。将行添加到数据绑定Datagridview,而某些列不可见?

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

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

有没有什么办法可以让用户直接向DataGridView添加行,然后以编程方式在事件上设置这个缺失值,还是我不得不求助于有一个“添加新行”按钮它向DataSource添加了一个新行?

回答

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(); 
} 
相关问题