mirror of https://github.com/abpframework/abp.git
2 changed files with 89 additions and 0 deletions
@ -0,0 +1,58 @@ |
|||||
|
@typeparam TItem |
||||
|
@using Blazorise.DataGrid; |
||||
|
|
||||
|
|
||||
|
<DataGrid TItem="TItem" |
||||
|
Data="@Data" |
||||
|
ReadData="@ReadData" |
||||
|
TotalItems="@TotalItems" |
||||
|
ShowPager="@ShowPager" |
||||
|
PageSize="@PageSize"> |
||||
|
<DataGridColumns> |
||||
|
@foreach (var column in Columns) |
||||
|
{ |
||||
|
if (column.Actions.Any()) |
||||
|
{ |
||||
|
<DataGridEntityActionsColumn TItem="TItem" @ref="ActionColumns[column.Title]" Caption="@column.Title"> |
||||
|
<DisplayTemplate> |
||||
|
<EntityActions TItem="TItem" EntityActionsColumn="ActionColumns[column.Title]"> |
||||
|
@foreach (var action in column.Actions) |
||||
|
{ |
||||
|
if (action.ConfirmationMessage != null) |
||||
|
{ |
||||
|
<EntityAction TItem="TItem" |
||||
|
RequiredPolicy="@action.RequiredPolicy" |
||||
|
Clicked="async () => await action.Clicked(context)" |
||||
|
ConfirmationMessage="() => action.ConfirmationMessage.Invoke(context)" |
||||
|
Text="@action.Text"></EntityAction> |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
<EntityAction TItem="TItem" |
||||
|
RequiredPolicy="@action.RequiredPolicy" |
||||
|
Clicked="async () => await action.Clicked(context)" |
||||
|
Text="@action.Text"></EntityAction> |
||||
|
} |
||||
|
} |
||||
|
</EntityActions> |
||||
|
</DisplayTemplate> |
||||
|
</DataGridEntityActionsColumn> |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
@if (column.Render != null) |
||||
|
{ |
||||
|
<DataGridColumn TItem="TItem" Field="@column.Data" Caption="@column.Title"> |
||||
|
<DisplayTemplate> |
||||
|
@column.Render.Invoke(context) |
||||
|
</DisplayTemplate> |
||||
|
</DataGridColumn> |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
<DataGridColumn TItem="TItem" Field="@column.Data" Caption="@column.Title" /> |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</DataGridColumns> |
||||
|
</DataGrid> |
||||
@ -0,0 +1,31 @@ |
|||||
|
using Blazorise.DataGrid; |
||||
|
using Microsoft.AspNetCore.Components; |
||||
|
using System.Collections.Generic; |
||||
|
using Volo.Abp.AspNetCore.Components.Extensibility.TableColumns; |
||||
|
|
||||
|
namespace Volo.Abp.BlazoriseUI.Components |
||||
|
{ |
||||
|
public partial class AbpDataGrid<TItem> : ComponentBase |
||||
|
{ |
||||
|
protected Dictionary<string, DataGridEntityActionsColumn<TItem>> ActionColumns = new Dictionary<string, DataGridEntityActionsColumn<TItem>>(); |
||||
|
|
||||
|
[Parameter] |
||||
|
public IEnumerable<TItem> Data { get; set; } |
||||
|
|
||||
|
[Parameter] |
||||
|
public EventCallback<DataGridReadDataEventArgs<TItem>> ReadData { get; set; } |
||||
|
|
||||
|
[Parameter] |
||||
|
public int? TotalItems { get; set; } |
||||
|
|
||||
|
[Parameter] |
||||
|
public bool ShowPager { get; set; } |
||||
|
|
||||
|
[Parameter] |
||||
|
public int PageSize { get; set; } |
||||
|
|
||||
|
[Parameter] |
||||
|
public List<TableColumn> Columns { get; set; } |
||||
|
|
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue