Как отсортировать данные из файла в два разных столбца - PullRequest
0 голосов
/ 29 января 2019

Итак, я делаю приложение посещаемости.Я получу данные из двух файлов.

Сначала файл Excel выглядит следующим образом

Schedule File

Тогда это фактическийжурналы посещаемости

Actual Attendance Logs

Для файла посещаемости 0 означает вход в систему и 1 означает выход из системы

Когда я загружаю файл посещаемости, он выглядит следующим образомэто DataGrid1

До сих пор я пытался сопоставить два столбца в промежутке времени, но это дает мне ошибку

Error Message

Так что на данный момент это то, что я уже сделал Current Table

Мне не хватает еще одного столбца, который мне нужен для расчета метрик, которые должны выглядеть следующим образомExpected Output

Это мой текущий 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

...