【问题标题】:Display a Null or default DateTime value as "blank" or NA in a WPF datagrid在 WPF 数据网格中将 Null 或默认 DateTime 值显示为“空白”或 NA
【发布时间】:2015-01-22 01:41:08
【问题描述】:

我有一个绑定到自定义对象的 ObservableCollection 的数据网格。其中一列绑定到 DateTime 属性,并且许多对象具有最小 DateTime 值。

在我的 DataGrid 中,这是我的 DateTime 列的代码

<DataGridTextColumn Binding="{Binding Path=StartTime, StringFormat={}{0:MM/dd/yyyy hh:mm:ss tt}}" Header="Start Time" Foreground="Black" Width="2*"/>

如果日期是“1/1/1753 12:00:00 AM”或“1/1/0001”,我如何应用带有数据模板或可以显示“-”或“NA”或其他内容的样式中午 12:00:00”?

【问题讨论】:

    标签: c# wpf datetime datagrid


    【解决方案1】:

    使用转换器,例如:

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (value != null && value is DateTime && (DateTime)value < new DateTime(2, 1, 1))
        {
            return "NA";
        }
        else
            return value;
    }
    

    您应该设置一个最小/默认 DateTime 值或一个列表并与 DateTime 列进行比较,返回您想要的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-07
      • 2016-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-23
      • 1970-01-01
      • 2017-10-06
      相关资源
      最近更新 更多