Browse Source

abp datagrid implementation.

pull/7686/head
Ilkay Ilknur 6 years ago
parent
commit
3a77152e5d
  1. 58
      framework/src/Volo.Abp.BlazoriseUI/Components/AbpDataGrid.razor
  2. 31
      framework/src/Volo.Abp.BlazoriseUI/Components/AbpDataGrid.razor.cs

58
framework/src/Volo.Abp.BlazoriseUI/Components/AbpDataGrid.razor

@ -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>

31
framework/src/Volo.Abp.BlazoriseUI/Components/AbpDataGrid.razor.cs

@ -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…
Cancel
Save