我正在以编程方式为我的datagrid设置datagrid列,然后将网格绑定到可观察的集合。
我的几个列绑定到DateTime属性,但是,如果它们在数据库中是空值,则由于DateTime是非可空类型,它将DateTime属性设置为最小值。
上述列的我的绑定如下:
DataGridTextColumn scanned = new DataGridTextColumn();
scanned.Header = "Scanned";
scanned.Binding = new Binding("DateScanned");
dataGrid.Columns.Add(scanned);
“DateScanned”是datetime属性。 现在,不是那些在网格中显示为“1/1/0001”的值,如果它们被清空,我更喜欢它。 这就是我的问题。
我能否以某种方式将此绑定设置为条件,如果属性值为“1/1/0001”,则不显示任何内容?
答案 0 :(得分:1)
使用value converter将此类特定值转换为空白或其他任何您想要的值。
答案 1 :(得分:1)
答案 2 :(得分:0)
没关系,发现有关绑定转换器的信息。写了一个“MinDateConverter”来检查它是否是最短的约会时间。如果是,则返回空白,否则返回日期时间。
public class MinDateConverter : IValueConverter
{
public MinDateConverter()
{
}
public virtual object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
DateTime dt = (DateTime)value;
if (dt.Equals(DateTime.MinValue))
return string.Empty;
else
return dt.ToShortDateString();
}
public virtual object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value;
}
}