我第一次在 WPF 中开发一个程序。我在 GridView 模式下有一个 ListView,显示来自绑定数据集(从数据库中获取)的数据。
在我的数据库中,“出生日期”不是必填字段。因此,任何没有 dob 的记录都将值设置为DateTime.MinValue
。在每个最小值日期,日期在单元格中显示为 01/01/0001。我正在尝试找到一种方法来格式化单元格以使其DateTime.MinValue
不显示,或者将每个单元格替换MinValue
为""
.
我的想法是要么使用日期所在文本块的“已加载”事件并替换“01/01/0001”的每个实例,或者在将数据集发送到 GridView 之前循环遍历数据集并在那里删除/替换它们。我也没有运气弄清楚该怎么做。
我的 GridView 的 xaml 代码是:
<Grid>
<ListView x:Name="resultsListView" GridViewColumnHeader.Click="GridViewColumnHeaderClickedHandler" Margin="0,54,0,28" ItemsSource="{Binding Path=Table}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Path=LastName}"
Header="Last Name"
Width="150"/>
<GridViewColumn DisplayMemberBinding="{Binding Path=FirstName}"
Header="First Name"
Width="100"/>
<GridViewColumn DisplayMemberBinding="{Binding Path=MiddleName}"
Header="Middle Name"
Width="100"/>
<GridViewColumn Header="Date of Birth" Width="100">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock TextAlignment="Justify" Text="{Binding Path=DateOfBirth, StringFormat='{}{0:MM/dd/yyyy}'}" Loaded="TextBlock_Loaded" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Grid>
数据集的代码:
private void FillListView(DataSet ds)
{
if (resultsListView.Items.Count != 0)
{
resultsListView.Items.Clear();
}
resultsListView.DataContext = ds.Tables[0].DefaultView;
}
任何关于如何DateTime.MinValue
在我的 GridView 中显示空白的建议将不胜感激!