私は初めてWPFのプログラムに取り組んでいます。バインドされたデータセット(データベースから取得されたもの)からのデータを表示するGridViewモードのListViewがあります。
私のデータベースでは、「生年月日」は必須フィールドではありません。そのため、生年月日がないレコードの値はに設定されていDateTime.MinValue
ます。これらの最小値の日付のそれぞれで、日付はセルに01/01/0001として表示されます。DateTime.MinValue
セルが表示されないようにフォーマットするか、それぞれMinValue
をに置き換える方法を見つけようとしてい""
ます。
私の考えは、日付が含まれているテキストブロックの「Loaded」イベントを使用して「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;
}
GridViewで空白を表示する方法についてのアドバイスをDateTime.MinValue
いただければ幸いです。