* Changed ScheduleOrdersGrid to show also details
* Changed Column with Recipient from code to name
This commit is contained in:
@@ -15,8 +15,10 @@ namespace FaKrosnoEfDataModel.Dtos
|
||||
public int DocNumber { get; set; }
|
||||
public string? DocType { get; set; }
|
||||
|
||||
public string? RecipientCode => Recipient.RecipientCode;
|
||||
public string RecipientCode => Recipient.RecipientCode;
|
||||
public string? PurchaserCode => Recipient.Purchaser?.PurchaserCode;
|
||||
public string RecipientName => Recipient.RecipientDesc;
|
||||
public string? PurchaserName => Recipient.Purchaser?.PurchaserDesc;
|
||||
public RecipientDto Recipient { get; set; }
|
||||
|
||||
public IList<ScheduleOrderDetailDto> ScheduleOrderDetails { get; set; }
|
||||
|
||||
@@ -38,13 +38,11 @@
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sc_productCode) HeaderText="Pozycja" Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sh_productCode) HeaderText="Pozycja Klienta"
|
||||
Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Price) TextAlign="TextAlign.Right" HeaderText="Cena"
|
||||
Width="50"></GridColumn>
|
||||
</GridColumns>
|
||||
<GridFilterSettings Type="FilterType.Excel"/>
|
||||
<GridPageSettings PageSize="10"/>
|
||||
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
|
||||
<GridEvents TValue="ScheduleOrderDetailDto" RowSelected="OnSelectedLineRow"></GridEvents>
|
||||
<GridEvents TValue="ScheduleOrderDetailDto" RowSelected="OnSelectedLineRow" DetailsExpanding="OnDetailsExpanding"></GridEvents>
|
||||
</SfGrid>
|
||||
@if (_isVisible)
|
||||
{
|
||||
@@ -111,10 +109,15 @@
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
private void OnSelectedLineRow<TValue>(RowSelectEventArgs<TValue> obj)
|
||||
private void OnSelectedLineRow(RowSelectEventArgs<ScheduleOrderDetailDto> obj)
|
||||
{
|
||||
ScheduleOrderDetailDto? scheduleOrderDetail = obj.Data as ScheduleOrderDetailDto;
|
||||
ScheduleOrderDetailDto? scheduleOrderDetail = obj.Data;
|
||||
|
||||
SelectOrderDetail(scheduleOrderDetail);
|
||||
}
|
||||
|
||||
private void SelectOrderDetail(ScheduleOrderDetailDto? scheduleOrderDetail)
|
||||
{
|
||||
_isVisible = scheduleOrderDetail != null;
|
||||
|
||||
if (scheduleOrderDetail == null) return;
|
||||
@@ -122,4 +125,11 @@
|
||||
_scheduleOrderDetailsDetails = scheduleOrderDetail.ScheduleOrderDetailDetails.ToList();
|
||||
}
|
||||
|
||||
private void OnDetailsExpanding(DetailsExpandingEventArgs<ScheduleOrderDetailDto> obj)
|
||||
{
|
||||
ScheduleOrderDetailDto? scheduleOrderDetail = obj.Data;
|
||||
|
||||
SelectOrderDetail(scheduleOrderDetail);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,21 +14,42 @@
|
||||
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"
|
||||
<GridColumns>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDto.PONum) HeaderText="Zamówienie Klienta"
|
||||
Width="150" AllowFiltering="true"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDto.PurchaserCode) HeaderText="Klient"
|
||||
Width="100" AllowFiltering="true"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDto.RecipientName) HeaderText="Odbiorca"
|
||||
Width="100" AllowFiltering="true"></GridColumn>
|
||||
<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>
|
||||
AllowFiltering="true"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDto.DocType) HeaderText="Typ Dokumentu"
|
||||
Width="100" AllowFiltering="true"></GridColumn>
|
||||
</GridColumns>
|
||||
<GridTemplates>
|
||||
<DetailTemplate>
|
||||
@{
|
||||
IList<ScheduleOrderDetailDto>? scheduleOrderDetails = (@context as ScheduleOrderDto)?.ScheduleOrderDetails;
|
||||
<SfGrid AllowFiltering="true"
|
||||
AllowPaging="true"
|
||||
AllowSorting="true"
|
||||
AllowSelection="true"
|
||||
TValue="ScheduleOrderDetailDto"
|
||||
DataSource="@scheduleOrderDetails"
|
||||
EnableAdaptiveUI="true">
|
||||
<GridColumns>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sc_productCode) HeaderText="Pozycja" Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sh_productCode) HeaderText="Pozycja Klienta"
|
||||
Width="100"></GridColumn>
|
||||
</GridColumns>
|
||||
<GridFilterSettings Type="FilterType.Excel"/>
|
||||
<GridPageSettings PageSize="10"/>
|
||||
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
|
||||
</SfGrid>
|
||||
}
|
||||
</DetailTemplate>
|
||||
</GridTemplates>
|
||||
<GridEvents TValue="ScheduleOrderDto" OnRecordDoubleClick="OnRowDoubleClick" />
|
||||
<GridFilterSettings Type="FilterType.Excel" />
|
||||
<GridPageSettings PageSize="PageSize" />
|
||||
|
||||
Reference in New Issue
Block a user