2012-03-30 4 views
0

フォームデザイナを使用して1つのODBCデータベーステーブルにバインドしたDataGridViewがあります。Databridviewにデータ行を追加しますが、特定の列は表示されません。

ODBCソースはInformixデータベースであり、関連するテーブルには、テーブルの主キーを生成する自動インクリメント列が含まれています。フォーム上の設定に依存する別の列があります。両方の列はVisible = Falseに設定されています。

「追加を有効にする」DataGridView設定を許可し、DataGridViewに新しい行を追加すると、2番目の列がnull(正しい)を許可しないというエラーが表示されます。

ユーザーが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(); 
} 

コードは次のようになります。

関連する問題