【问题标题】:Prevent null date from formatting防止格式化空日期
【发布时间】:2017-09-28 23:34:46
【问题描述】:

我正在将 datagridview 数据源设置为对象列表:

grdCurrentMissions.DataSource = _CurrentMissions.Select(o => new
                {
                    column1 = o.ScheduledTime.ToString(@"hh\:mm\:ss"),
                    column2 = o.DepartureTime.ToString(@"hh\:mm\:ss")
                }).ToList();

日期字符串格式适用于现有日期值,但空值显示为 12:00 点,如何防止?

【问题讨论】:

  • 如果它们为空,你会得到一个异常。我认为它们已经设置为默认值。

标签: c# .net winforms linq datagridview


【解决方案1】:

假设 ScheduledTime 和 DepartureTime 是 DateTime 属性,则属性在未填写时等于 DateTime.MinValue。因此您可以检查:

grdCurrentMissions.DataSource = currentMissions.Select(o => new
        {
            column1 = o.ScheduledTime == DateTime.MinValue ? "-" : o.ScheduledTime.ToString(@"hh\:mm\:ss"),
            column1 = o.DepartureTime == DateTime.MinValue ? "-" : o.DepartureTime.ToString(@"hh\:mm\:ss"),
        }).ToList();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多