如何从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();

如果有人有关于这个问题的任何信息,你的帮助将是伟大的!

如何从C#接受GridView中的null值

实际上,您需要的所有信息都已经在异常消息中了——您显然是在尝试将null值设置为DataColumn。问题是DataColumn不使用null,而是使用DBNull。所以你可以这样做:

dr[2] = DCRA.END_DATE ?? DBNull.Value;

请使用此属性将空值处理到网格中。

属性:nulldisplaytext="xxx"