gpt4 book ai didi

c# - 在 DataGridView 组合框中设置默认值

转载 作者:行者123 更新时间:2023-11-30 18:03:47 25 4
gpt4 key购买 nike

我在 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 属性?

最佳答案

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

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

关于c# - 在 DataGridView 组合框中设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6799296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com