アプリケーションに2 つDatePicker
の があり、ユーザーが選択した日付 (開始日 - 終了日) に応じてレコードを選択する必要があります。下の図は、 my のデザインを示していDatepicker
ます。これらの日付ピッカーでの日付の選択に応じて、成功したプロセスの数をsucceddedtxtBoxに表示し、失敗したプロセスの数をfailedtxtBoxに表示したいと思います
XAML
<Label>displays the succedded process</Label>
<Border BorderThickness="1" BorderBrush="Gray">
<TextBlock FontWeight="SemiBold" FontSize="12" x:Name="success_Txtbox" Width="50" VerticalAlignment="Stretch" TextAlignment="Right"/>
</Border>
<Label>displays the failed process</Label>
<Border BorderBrush="Gray" BorderThickness="1">
<TextBlock FontWeight="SemiBold" FontSize="12" x:Name="fail_Txtbox" Width="50" TextAlignment="Left"></TextBlock>
</Border>
linq がクエリを実行するためのロジックを考えました。これは次のようになります。
var query_success = ( from x in this.db.Processes
where x.date = "from date" && x.date = "to date" &&
(x.Type == "completed")
select x).Count();
success_Txtbox.Text = query_success.ToString();
var query_failed = ( from x in this.db.Processes
where x.date = "from date" && x.date = "to date" &&
(x.Type == "Failed")
select x).Count();
failed_Txtbox.Text = query_failed.ToString();
更新 - XAML
<StackPanel Orientation="Horizontal">
<Label>From</Label>
<Border>
<DatePicker x:Name="fromDP"></DatePicker>
</Border>
<Label>To</Label>
<Border>
<DatePicker x:Name="toDP"></DatePicker>
</Border>
<Button Content="Go !" Height="23" Name="Go_Btn" Width="75" Click="Go_Btn_Click" />
</StackPanel>
更新された回答
private void Go_Btn_Click(object sender, SelectionChangedEventArgs e)
{
var query_History = (this.db.Processes
.Where(x => x.Date >= fromDP.SelectedDate.Value && x.Date <= toDP.SelectedDate.Value));
var query_Success = query_History.Count(p => p.Type == "Complete");
var query_Failed = query_History.Count(p => p.Type == "Failed");
success_Txtbox.Text = query_Success.ToString();
fail_Txtbox.Text = query_Failed.ToString();
}
上記の解決策を試しましたが、 txtbox の結果として 0 が表示されます。