2011-07-23 15 views
3

ユーザーが値を入力してn個の行を追加できるように、WindowsフォームにDataGridViewを使用しています。 DataGridViewの列には、データベースを使用して項目を表示しているコンボボックスがあります。DataGridViewコンボボックスで既定値を設定します

私はデータベースとDataGridViewComboBoxを接続するためのLoadイベントに次のコードを使用しています:私はDataGridViewComboBoxから任意の値を選択し、保存ボタンをクリックしない時はいつでも、私はに対応するテーブルにnull値を見つける

private void PurchaseMaster_Load(object sender, EventArgs e) 
{ 
    DataTable dt = itemBAL.GetTable(); 
    bindingSource1.DataSource = dt; 
    ItemName.DataSource = bindingSource1; 
    ItemName.DisplayMember = "Name"; 
    ItemName.ValueMember = "ItemId"; 
    ItemName.DataPropertyName = "ItemId"; 
    ItemName.AutoComplete = true; 
    ItemName.DefaultCellStyle.NullValue = dt.Rows[0][1].ToString(); 
    ItemName.DefaultCellStyle.DataSourceNullValue = dt.Rows[0][0].ToString(); 
} 

しかし、 DataGridViewComboBox値。私はDataSourceNullValueプロパティを使用してのにもかかわらず、DataGridViewcombobox defult値のために、データベース内のNULL値を得ている理由

foreach (DataGridViewRow row in dataGridView1.Rows) 
{ 
    if (row.IsNewRow) 
     continue; 

    DataRow dtRow = dt.NewRow(); 
    for (int i = 0; i < dataGridView1.Columns.Count; i++) 
     dtRow[i] = row.Cells[i].Value == null ? DBNull.Value : row.Cell[i].Value; 
    dt.Rows.Add(dtRow); 
} 

は、誰も私に教えていただけますか?

答えて

関連する問題