有没有办法在 AntBlazor 的一个单独的类中配置我们的数据表?

问题描述

有没有什么办法可以在单独的类中配置我们的数据表功能,以便我们在项目中的任何地方使用它们,当我们想要进行任何更改时,只需更改该类?

我不是要创建基础组件,我只是想创建一个类来配置数据表并为我在项目中使用的每个表添加一个自动增量列 我想为我使用的每个 DataGrid 创建一个包含自动递增行号的列

我想在 OnInitialize 方法调用我的 TableConfig 类并将表实例传递给它进行配置

有没有办法做到这一点?

这是一个简单的示例来描述我的意图

Index.razor

              <Table @ref="table"
                       DataSource="@data.Result"
                       Total="data.TotalCount"
                       PageSize="data.PageSize"
                       Loading="@_table.Loading"
                       OnPageIndexChange="pageIndexChanged">
                    <Column Class="@_table.ColumnCssClass" Title="@Resources.DataDictionary.IsActive" @bind-Field="@context.IsActive">
                        <CheckBox Checked="@context.IsActive" disabled="true" />
                    </Column>
                    <Column Class="@_table.ColumnCssClass" Title="@Resources.Models.Users.FullName" @bind-Field="@context.FullName" />
                    <Column Class="@_table.ColumnCssClass" Title="@Resources.Models.Users.EmailAddress" @bind-Field="@context.EmailAddress" />
                    <Column Class="@_table.ColumnCssClass" Title="@Resources.Models.Users.UserType" Field="@context.UserTypeValue" />
                    <Column Class="@_table.ColumnCssClass" Title="@Resources.DataDictionary.Action" @bind-Field="@context.Id">
                        <Tooltip Title="@(Resources.Actions.Edit)">
                            <a href="/users/edit/@context.Id"><i class="typcn typcn-edit"></i></a>
                        </Tooltip>
                        <Tooltip Title="@(selectGroup)">
                            <a href="/users/selectGroup/@context.Id"><i class="typcn typcn-group-outline"></i></a>
                        </Tooltip>
                    </Column>
                </Table>

@code{

    private ViewPagingDataResult<viewmodels.User.Userviewmodel> data { get; set; }

    AntDesign.Table<viewmodels.User.Userviewmodel> table;

    Infrastructure.Components.TableConfig<viewmodels.User.Userviewmodel> _table;

    protected override async Task OnInitializedAsync()
    {
        table = new();
        Infrastructure.Components.AtnBlazor.TableConfig.Config(table);
        data = new ViewPagingDataResult<viewmodels.User.Userviewmodel>();
        await loadDataAsync();
    }
}

这是我的配置类

TableConfig.cs

namespace Infrastructure.Components.AtnBlazor
{
    public static class TableConfig
    {
        public static void Config<T>(AntDesign.Table<T> table)
        {
            table.Bordered = true;
            table.Class = "table-responsive text-Nowrap";
        }
    }
}

类似上面的东西 但它不起作用!而且我不知道如何在这个类中创建一个列来实现自动递增行

我希望我能明白我的意思,并提前感谢您的帮助

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)