如何从C#接受GridView中的null值
本文关键字:中的 null GridView 接受 | 更新日期: 2023-09-27 18:29:26
我的数据库中有一个表,它传递:
- 奖励金额ID
- 开始日期
- 结束日期
- 奖励金额
回到我的代码后面End_Date可以为null,但由于某种原因,当我运行代码时,会出现错误。
Cannot set Column 'END_DATE' to be null. Please use DBNull instead.
这是我的C#代码。
Amounts = ser.GetRewardAmounts().ToList();
dt.Columns.Add(new DataColumn("REWARD_AMOUNT_ID", typeof(int)));
dt.Columns.Add(new DataColumn("START_DATE", typeof(DateTime)));
dt.Columns.Add(new DataColumn("END_DATE", typeof(DateTime)));
dt.Columns.Add(new DataColumn("REWARD_AMOUNT", typeof(decimal)));
foreach (var item in Amounts)
{
dr = dt.NewRow();
dr[0] = item.REWARD_AMOUNT_ID;
dr[1] = item.START_DATE;
dr[2] = item.END_DATE;
dr[3] = item.REWARD_AMOUNT;
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
dg_amounts.DataSource = dv;
dg_amounts.DataBind();
如果有人有关于这个问题的任何信息,你的帮助将是伟大的!
实际上,您需要的所有信息都已经在异常消息中了——您显然是在尝试将null
值设置为DataColumn
。问题是DataColumn
不使用null,而是使用DBNull
。所以你可以这样做:
dr[2] = DCRA.END_DATE ?? DBNull.Value;
请使用此属性将空值处理到网格中。
属性:nulldisplaytext="xxx"