【发布时间】:2014-11-03 00:28:50
【问题描述】:
如何为允许 DBNull 的 ComboBox 创建一个列表?
我试过 int? 但 int? 与 DBNull 不同,并且组合框不适用于 null 值。
我的 datagridview 组合框,需要 DBNull。
我做到了:
var machineComboList = this.eMDataSet1.Machines.Select(row => new
{
Key = (int?) row.MachineID,
Value = row.Description
}).ToList();
int? nullValue = DBNull.Value;
machineComboList.Add(new { Key = nullValue, Value = "All" });
我想将一个 DBNull 值放入“Key”中。使用 int? 不起作用。
【问题讨论】:
-
“如何在 C# 中声明一个将采用 DBNull 的 int” - 你没有。将其映射到 null (或其他)。在 SO 上也有很多这样的问题。请尝试搜索。
-
您是否使用 EF 进行数据访问?你不能只用 null 代替 DBNull.Value 吗?
-
@JamesBlond 我试过了,没用。它适用于 DataGridview 中的组合框,当我使用 int 时?它不喜欢它。
-
@MitchWheat 我应该在 SO 上搜索什么 - 我已经找了好几个小时了。
-
@GrantWinney 组合框的两个问题 - 第一个它忽略了 DataGridView 中存在的 DBNull 值,它们显示为空白。第二,如果我尝试让它保存 int,它会给出一个例外? = null 到采用 DBNull 的字段。