* Changed ScheduleOrdersGrid with enabling Persistence

* Added div to help with visibility on mobiles
This commit is contained in:
2025-02-19 14:01:39 +01:00
parent 3770d4f28d
commit 59e558b109

View File

@@ -2,58 +2,65 @@
@using Syncfusion.Blazor.Grids @using Syncfusion.Blazor.Grids
@inherits LayoutComponentBase @inherits LayoutComponentBase
<SfGrid @ref="_grid" <div class="container-fluid h-100">
TValue="ScheduleOrderDto" <SfGrid @ref="_grid"
AllowFiltering="true" TValue="ScheduleOrderDto"
AllowPaging="true" AllowFiltering="true"
AllowSorting="true" AllowPaging="true"
AllowSelection="true" AllowSorting="true"
DataSource="@_dataSource" AllowSelection="true"
EnableAdaptiveUI="true" DataSource="@_dataSource"
AllowRowClick="true" EnableAdaptiveUI="true"
SelectionMode="GridSelectionMode.Single" EnablePersistence="true"
QueryCellInfo="OnQueryCellInfo"
RowSelected="OnRowSelected"> AllowRowClick="true"
<GridColumns> SelectionMode="GridSelectionMode.Single"
<GridColumn Field=@nameof(ScheduleOrderDto.PONum) HeaderText="Zamówienie Klienta" QueryCellInfo="OnQueryCellInfo"
Width="150" AllowFiltering="true"></GridColumn> RowSelected="OnRowSelected">
<GridColumn Field=@nameof(ScheduleOrderDto.PurchaserCode) HeaderText="Klient" <GridColumns>
Width="100" AllowFiltering="true"></GridColumn> <GridColumn Field=@nameof(ScheduleOrderDto.PONum) HeaderText="Zamówienie Klienta"
<GridColumn Field=@nameof(ScheduleOrderDto.RecipientName) HeaderText="Odbiorca" Width="150" AllowFiltering="true"></GridColumn>
Width="100" AllowFiltering="true"></GridColumn> <GridColumn Field=@nameof(ScheduleOrderDto.PurchaserCode) HeaderText="Klient"
<GridColumn Field=@nameof(ScheduleOrderDto.LastUpdateDate) HeaderText="Data Utworzenia" Width="100" AllowFiltering="true"></GridColumn>
Format="d" Type="ColumnType.Date" Width="130" <GridColumn Field=@nameof(ScheduleOrderDto.RecipientName) HeaderText="Odbiorca"
AllowFiltering="true"></GridColumn> Width="100" AllowFiltering="true"></GridColumn>
<GridColumn Field=@nameof(ScheduleOrderDto.DocType) HeaderText="Typ Dokumentu" <GridColumn Field=@nameof(ScheduleOrderDto.LastUpdateDate) HeaderText="Data Utworzenia"
Width="100" AllowFiltering="true"></GridColumn> Format="d" Type="ColumnType.Date" Width="130"
</GridColumns> AllowFiltering="true"></GridColumn>
<GridTemplates> <GridColumn Field=@nameof(ScheduleOrderDto.DocType) HeaderText="Typ Dokumentu"
<DetailTemplate> Width="100" AllowFiltering="true"></GridColumn>
@{ </GridColumns>
IList<ScheduleOrderDetailDto>? scheduleOrderDetails = (@context as ScheduleOrderDto)?.ScheduleOrderDetails; <GridTemplates>
<SfGrid AllowFiltering="true" <DetailTemplate>
AllowPaging="true" @{
AllowSorting="true" IList<ScheduleOrderDetailDto>? scheduleOrderDetails = (@context as ScheduleOrderDto)?.ScheduleOrderDetails;
AllowSelection="true" <SfGrid AllowFiltering="true"
TValue="ScheduleOrderDetailDto" AllowPaging="true"
DataSource="@scheduleOrderDetails" AllowSorting="true"
EnableAdaptiveUI="true"> AllowSelection="true"
<GridColumns> TValue="ScheduleOrderDetailDto"
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sc_productCode) HeaderText="Pozycja" Width="100"></GridColumn> DataSource="@scheduleOrderDetails"
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sh_productCode) HeaderText="Pozycja Klienta" EnablePersistence="true"
Width="100"></GridColumn> EnableAdaptiveUI="true">
</GridColumns> <GridColumns>
<GridFilterSettings Type="FilterType.Excel"/> <GridColumn Field=@nameof(ScheduleOrderDetailDto.Sc_productCode) HeaderText="Pozycja"
<GridPageSettings PageSize="10"/> Width="100"></GridColumn>
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/> <GridColumn Field=@nameof(ScheduleOrderDetailDto.Sh_productCode)
</SfGrid> HeaderText="Pozycja Klienta"
} Width="100"></GridColumn>
</DetailTemplate> </GridColumns>
</GridTemplates> <GridFilterSettings Type="FilterType.Excel"/>
<GridEvents TValue="ScheduleOrderDto" OnRecordDoubleClick="OnRowDoubleClick" /> <GridPageSettings PageSize="10"/>
<GridFilterSettings Type="FilterType.Excel" /> <GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
<GridPageSettings PageSize="PageSize" /> </SfGrid>
</SfGrid> }
</DetailTemplate>
</GridTemplates>
<GridEvents TValue="ScheduleOrderDto" OnRecordDoubleClick="OnRowDoubleClick"/>
<GridFilterSettings Type="FilterType.Excel"/>
<GridPageSettings PageSize="PageSize"/>
</SfGrid>
</div>
@code { @code {
[Parameter] public required IEnumerable<ScheduleOrderDto> GridData { get; set; } [Parameter] public required IEnumerable<ScheduleOrderDto> GridData { get; set; }
@@ -84,4 +91,5 @@
int scheduleOrderId = obj.RowData.ID; int scheduleOrderId = obj.RowData.ID;
NavigationManager.NavigateTo($"/ScheduleOrder/{scheduleOrderId}"); NavigationManager.NavigateTo($"/ScheduleOrder/{scheduleOrderId}");
} }
} }