ich bin neu in C# und WPF. Angenommen, ich habe einen Tisch. Diese Tabelle hat zwei Felder: "firstName" und "birthDate". Ich schreibe eine Abfrage, um "Geburtsdatum" Datensätze zu holen, dann möchte ich es auf einem Datagrid zeigen. vorher möchte ich mit einer funktion "gregorian date" in "jalali date" ändern.wie auf jedes Element einer Abfragevariablen zugreifen
in C#:
var searchQueryOfDateAndTime = (from b in FaceDB.tblCameras
join c in FaceDB.tblTraffics
on b.Camera_Id equals c.Camera_Id
join a in FaceDB.tblknownPeoples
on c.IdNumber equals a.IdNumber
where
(
string.Compare(c.EntryDate.ToString(), miladiFromDate.ToString()) >= 0
&&
string.Compare(c.EntryDate.ToString(), miladiToDate.ToString()) <= 0
)
where
(
string.IsNullOrEmpty(timFromHour.Text.ToString())
||
string.Compare(c.EntryTime.ToString(), timFromHour.Text.ToString()) >= 0
&&
string.IsNullOrEmpty(timToHour.Text.ToString())
||
string.Compare(c.ExitTime.ToString(), timToHour.Text.ToString()) <= 0
)
select new { a.Name, a.Family, EntryDate = Georgian2Jalali(c.EntryDate), c.EntryTime, a.Occupation, ExitDate = Georgian2Jalali(c.ExitDate), c.ExitTime, b.Camera_Name, c.PicAddress, a.FirstPicAddress, c.IdNumber, c.Camera_Id }).ToList();
dgvFinalyReport.ItemsSource = searchQueryOfDateAndTime;
und in WPF:
<DataGrid x:Name="dgvFinalyReport" Height="431" Width="630" Canvas.Left="273" Canvas.Top="10" AutoGenerateColumns="False" CanUserDeleteRows="False">
<DataGrid.Columns>
<DataGridTextColumn Header="firstname" Binding="{Binding Name}" Width="78" />
<DataGridTextColumn Header="Last name" Binding="{Binding Family}" Width="78" />
<DataGridTextColumn Header="Entry date" Binding="{Binding EntryDate}" Width="78" />
<DataGridTextColumn Header="entry time" Binding="{Binding EntryTime}" Width="78" />
<DataGridTextColumn Header="exit date" Binding="{Binding ExitDate}" Width="78" />
<DataGridTextColumn Header="exit time" Binding="{Binding ExitTime}" Width="78" />
<DataGridTextColumn Header="occupation" Binding="{Binding Occupation}" Width="78" />
<DataGridTextColumn Header="Cam_Name" Binding="{Binding Camera_Name}" Width="78" />
<DataGridTextColumn Header="getface" Binding="{Binding PicAddress}" Width="78" />
<DataGridTextColumn Header="first face" Binding="{Binding FirstPicAddress}" Width="78" />
</DataGrid.Columns>
</DataGrid>
Vielen Dank, aber was sind der Wert, targetType und Parameter? Wie verwende ich diese Klasse mit dem "select" -Befehl? – Saeid
@ Saeid - diese Parameter sind die Standardwerte für die Konvertierungen. "value" ist der übergebene Wert - im Fall "Convert" das Gregorianische Datum, im Fall "ConvertBack" das Datum von Jalali. 'Parameter' ist null, weil Sie keinen angegeben haben (Sie brauchen ihn nicht). 'targetType' ist der Typ, der zurückgegeben wird. – ChrisF
Sie verwenden es nicht mit dem Befehl select. Sie fügen die Konverterklasse zu Ihrem Projekt und den Konverter zu Ihrem XAML hinzu. – ChrisF