mirror of
https://github.com/dotnetcore/BootstrapBlazor.git
synced 2025-12-20 10:26:41 +08:00
!1852 feat(#I49OMD): add InvisibleColumns parameter on DataTableDynamicContext
* chore: bump version to 5.10.6 * feat: 增加不显示列设置
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
|
||||
<PropertyGroup>
|
||||
<Version>5.10.5</Version>
|
||||
<Version>5.10.6</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0'">
|
||||
|
||||
@@ -39,9 +39,10 @@ namespace BootstrapBlazor.Components
|
||||
/// </summary>
|
||||
/// <param name="table"></param>
|
||||
/// <param name="addAttributesCallback"></param>
|
||||
/// <param name="invisibleColumns">永远不显示的列集合 默认为 null 全部显示</param>
|
||||
/// <param name="shownColumns">显示列集合 默认为 null 全部显示</param>
|
||||
/// <param name="hiddenColumns">隐藏列集合 默认为 null 无隐藏列</param>
|
||||
public DataTableDynamicContext(DataTable table, Action<DataTableDynamicContext, ITableColumn>? addAttributesCallback = null, IEnumerable<string>? shownColumns = null, IEnumerable<string>? hiddenColumns = null)
|
||||
public DataTableDynamicContext(DataTable table, Action<DataTableDynamicContext, ITableColumn>? addAttributesCallback = null, IEnumerable<string>? invisibleColumns = null, IEnumerable<string>? shownColumns = null, IEnumerable<string>? hiddenColumns = null)
|
||||
{
|
||||
DataTable = table;
|
||||
AddAttributesCallback = addAttributesCallback;
|
||||
@@ -58,15 +59,20 @@ namespace BootstrapBlazor.Components
|
||||
DynamicObjectType = dynamicType;
|
||||
|
||||
// 获得显示列
|
||||
Columns = InternalTableColumn.GetProperties(DynamicObjectType, cols).Where(col => GetShownColumns(col.GetFieldName(), shownColumns, hiddenColumns)).ToList();
|
||||
Columns = InternalTableColumn.GetProperties(DynamicObjectType, cols).Where(col => GetShownColumns(col.GetFieldName(), invisibleColumns, shownColumns, hiddenColumns)).ToList();
|
||||
}
|
||||
|
||||
private static bool GetShownColumns(string columnName, IEnumerable<string>? shownColumns, IEnumerable<string>? hiddenColumns)
|
||||
private static bool GetShownColumns(string columnName, IEnumerable<string>? invisibleColumns, IEnumerable<string>? shownColumns, IEnumerable<string>? hiddenColumns)
|
||||
{
|
||||
var ret = true;
|
||||
|
||||
if (invisibleColumns != null && invisibleColumns.Any(c => c.Equals(columnName, StringComparison.OrdinalIgnoreCase)))
|
||||
{
|
||||
ret = false;
|
||||
}
|
||||
|
||||
// 隐藏列优先 移除隐藏列
|
||||
if (hiddenColumns != null && hiddenColumns.Any(c => c.Equals(columnName, StringComparison.OrdinalIgnoreCase)))
|
||||
if (ret && hiddenColumns != null && hiddenColumns.Any(c => c.Equals(columnName, StringComparison.OrdinalIgnoreCase)))
|
||||
{
|
||||
ret = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user