Files
FA_WEB/OrdersManagement/Components/Pages/Shared/ScheduleOrdersGrid.razor
Piotr Kus 8146ee189e * Added Syncfusion
* Changed MainPage
* Added styles
* Changed ScheduleOrders grid
2025-02-03 21:30:26 +01:00

65 lines
2.9 KiB
Plaintext

@inject NavigationManager NavigationManager
@using Syncfusion.Blazor.Grids
@inherits LayoutComponentBase
<div class="row">
<SfGrid @ref="_grid"
TValue="ScheduleOrderDto"
AllowFiltering="true"
AllowPaging="true"
PageSettings="@(new GridPageSettings { PageSize = PageSize })"
AllowSorting="true"
AllowSelection="true"
DataSource="@_dataSource"
AllowRowClick="true"
SelectionMode="GridSelectionMode.Single"
QueryCellInfo="OnQueryCellInfo"
RowSelected="OnRowSelected">
<Syncfusion.Blazor.Grids.GridColumns>
<Syncfusion.Blazor.Grids.GridColumn Field=@nameof(ScheduleOrderDto.OrderID) HeaderText="Zamówienie" Width="120" AllowFiltering="true"></Syncfusion.Blazor.Grids.GridColumn>
<Syncfusion.Blazor.Grids.GridColumn Field=@nameof(ScheduleOrderDto.PONum) HeaderText="Zamówienie Klienta" Width="150" AllowFiltering="true"></Syncfusion.Blazor.Grids.GridColumn>
<Syncfusion.Blazor.Grids.GridColumn Field=@nameof(ScheduleOrderDto.RecipientCode) HeaderText="Odbiorca" Width="100" AllowFiltering="true"></Syncfusion.Blazor.Grids.GridColumn>
<Syncfusion.Blazor.Grids.GridColumn Field=@nameof(ScheduleOrderDto.PurchaserCode) HeaderText="Klient" Width="100" AllowFiltering="true"></Syncfusion.Blazor.Grids.GridColumn>
<Syncfusion.Blazor.Grids.GridColumn Field=@nameof(ScheduleOrderDto.LastUpdateDate) HeaderText="Data Utworzenia" Format="d" Type="ColumnType.Date" Width="130" AllowFiltering="true"></Syncfusion.Blazor.Grids.GridColumn>
<Syncfusion.Blazor.Grids.GridColumn Field=@nameof(ScheduleOrderDto.DocType) HeaderText="Typ Dokumentu" Width="100" AllowFiltering="true"></Syncfusion.Blazor.Grids.GridColumn>
</Syncfusion.Blazor.Grids.GridColumns>
<GridEvents TValue="ScheduleOrderDto" OnRecordDoubleClick="OnRowDoubleClick"></GridEvents>
<GridFilterSettings Type="Syncfusion.Blazor.Grids.FilterType.Excel">
</GridFilterSettings>
</SfGrid>
</div>
@code {
[Parameter]
public required IEnumerable<ScheduleOrderDto> GridData { get; set; }
[Parameter]
public required Func<SfGrid<ScheduleOrderDto>, Task> PassGridRef { get; set; }
[Parameter]
public required int PageSize { get; set; }
private SfGrid<ScheduleOrderDto> _grid { get; set; }
private IEnumerable<ScheduleOrderDto> _dataSource = [];
protected override void OnParametersSet()
{
_dataSource = GridData;
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await PassGridRef(_grid);
}
}
private void OnRowDoubleClick(RecordDoubleClickEventArgs<ScheduleOrderDto> obj)
{
int scheduleOrderId = obj.RowData.ID;
NavigationManager.NavigateTo($"/ScheduleOrder/{scheduleOrderId}");
}
}