66 lines
3.0 KiB
Plaintext
66 lines
3.0 KiB
Plaintext
@inject NavigationManager NavigationManager
|
|
@using Syncfusion.Blazor.Grids
|
|
@inherits LayoutComponentBase
|
|
|
|
<SfGrid @ref="_grid"
|
|
TValue="ScheduleOrderDto"
|
|
AllowFiltering="true"
|
|
AllowPaging="true"
|
|
AllowSorting="true"
|
|
AllowSelection="true"
|
|
DataSource="@_dataSource"
|
|
EnableAdaptiveUI="true"
|
|
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" />
|
|
<GridFilterSettings Type="FilterType.Excel" />
|
|
<GridPageSettings PageSize="PageSize" />
|
|
</SfGrid>
|
|
|
|
@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}");
|
|
}
|
|
} |