2011-07-23 75 views
3

我在windows窗體中使用DataGridView以允許用戶添加n個用戶輸入值的行數。其中一列DataGridView包含組合框,該組合框使用數據庫顯示其項目。在DataGridView組合框中設置默認值

我使用Load事件下面的代碼與數據庫連接DataGridViewComboBox

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選擇任何值,然後點擊保存按鈕,我覺得在對應表null值值爲DataGridViewComboBox

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); 
} 

誰能告訴我爲什麼我得到的數據庫空值DataGridViewcombobox defult值,儘管使用DataSourceNullValue財產?

回答