ユーザーが値を入力して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);
}
は、誰も私に教えていただけますか?