【问题标题】:Set default value in DataGridView combo box在 DataGridView 组合框中设置默认值
【发布时间】:2011-10-11 13:46:57
【问题描述】:

我在 Windows 窗体中使用 DataGridView 以允许用户添加 n 行,其中包含用户输入的值。 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 中选择任何值并单击保存按钮时,我都会在对应于DataGridViewComboBox 值的表中找到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);
}

谁能告诉我为什么我在DataGridViewcombobox默认值的数据库中得到空值,尽管使用DataSourceNullValue属性?

【问题讨论】:

    标签: c# .net winforms datagridview combobox


    【解决方案1】:

    您其他帖子的答案应该会有所帮助: Combo box is not displaying default value in DataGridView in C#

    请参阅第一个答案末尾的评论。设置一个空值只显示一个默认值,但实际上并没有设置它。

    【讨论】:

      猜你喜欢
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      • 2015-02-08
      • 2017-10-03
      • 2011-10-16
      • 1970-01-01
      • 2016-04-29
      相关资源
      最近更新 更多