Итак, я делаю приложение посещаемости.Я получу данные из двух файлов.
Сначала файл Excel выглядит следующим образом
Тогда это фактическийжурналы посещаемости
Для файла посещаемости 0 означает вход в систему и 1 означает выход из системы
Когда я загружаю файл посещаемости, он выглядит следующим образомэто
До сих пор я пытался сопоставить два столбца в промежутке времени, но это дает мне ошибку
Так что на данный момент это то, что я уже сделал
Мне не хватает еще одного столбца, который мне нужен для расчета метрик, которые должны выглядеть следующим образом
Это мой текущий XAML-код моей DataGrid
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto">
<StackPanel Orientation="Vertical" Margin="0,0,0,0">
<DataGrid
x:Name="dgvAttendance"
Margin="0,20"
CanUserSortColumns="True"
CanUserAddRows="False" SelectedIndex="0" AlternationCount="2" AutoGenerateColumns="True" SelectionMode="Single" EnableColumnVirtualization="True" IsReadOnly="True" ScrollViewer.CanContentScroll="False" CanUserReorderColumns="False" CanUserResizeColumns="False" HeadersVisibility="All" CanUserResizeRows="False" PreviewMouseWheel="DgvAttendance_PreviewMouseWheel" UseLayoutRounding="False" >
</DataGrid>
<Button
x:Name="btnExportExcel"
Style="{StaticResource MaterialDesignRaisedDarkButton}"
Width="110"
ToolTip="Resource name: MaterialDesignRaisedLightDarkButton" Margin="15,10" Content="Export File" HorizontalAlignment="Right" Click="BtnExportExcel_Click" />
</StackPanel>
<!-- Stack for Datagrid Ends Here -->
</ScrollViewer>
И этот код я сейчас использую для заполнения своей DataGrid
public void Main()
{
actuals = NewActual(@"C:\Users\IT\Desktop\Sample\SampleActual.dat");
emps = GetEmp();
var final = (from t1 in actuals
join t2 in emps on t1.ID equals t2.ID
where t1.ID == t2.ID
orderby t2.ID
select new
{
t1.ID,
t2.In,
t1.ActualLog,
t2.Out
});
dgvAttendance.ItemsSource = final.ToList();
}
Любые идеи или помощь будет принята с благодарностью.Спасибо
Редактировать: я пытаюсь отсортировать данные из журналов посещаемости, используя статус журнала, который равен 0 или 1, если ноль, то статус журнала должен перейти в столбец Actual In, ноесли 1, он должен перейти к фактическому столбцу out