Bootstrap Blazor 中 Table 组件 的 AutoGenerateClass 、AutoGenerateColumn 与 列显示/隐藏 使用备忘

BootstrapBlazor 的 Table 组件的 列显示/隐藏 处理方式

1. 定义实体类时,当 [AutoGenerateClass(Visible = true)] 时,列的 [AutoGenerateColumn(Visible = true|false)] 设置中,有 Visible 设置的以列设置为准,没有 Visible 设置的默认为 true 。

注:如 [AutoGenerateColumn(Visible = true|false)] 设置与 TableColumn Visible="true|false" 设置不同,则以 TableColumn Visible="true|false" 设置为准。

 

2. 定义实体类时,当 [AutoGenerateClass(Visible = false)] 时,忽略所有列的 [AutoGenerateColumn(Visible = true|false)] 设置,以 Table 组件中的 TableColumn Visible="true|false" 设置为准(如无,则默认 Visible = false) 。

 

3. 读取 [AutoGenerateClass(Visible = true|false)] 中 Visible 的值 代码示例。

    /// <summary>
    /// 读取 [AutoGenerateClass(Visible = true|false)] 中 Visible 的值。<br/>
    /// BootstrapBlazor 的 Table 组件的 列显示/隐藏 处理方式:<br/>
    /// (1)此值为 true 时,列的 [AutoGenerateColumn(Visible = true|false)] 设置中,有 Visible 设置的以列设置为准,没有 Visible 设置的默认为 true 。<br/>
    ///  注:如 [AutoGenerateColumn(Visible = true|false)] 设置与 TableColumn Visible="true|false" 设置不同,则以 TableColumn Visible="true|false" 设置为准。<br/>
    /// (2)此值为 false 时,忽略所有列的 [AutoGenerateColumn(Visible = true|false)] 设置,以 Table 组件中的 TableColumn Visible="true|false" 设置为准(如无,则默认 Visible = false) 。<br/>
    /// 示例:boot b = GetAutoGenerateClassVisible(typeof(ApplicationUser));
    /// </summary>
    /// <param name="ClassType">实体类名,示例:typeof(ApplicationUser)</param>
    /// <returns></returns>
    public static bool GetAutoGenerateClassVisible(Type ClassType)
    {
        //没有设置时,默认为 true
        bool Visible = true;
        foreach (var c in ClassType.CustomAttributes)
        {
            if (c.AttributeType.Name == "AutoGenerateClassAttribute")
            {
                foreach (var n in c.NamedArguments)
                {
                    //如果找到 Visible 设置,则按设置的值 显示/隐藏 当前列
                    if (n.MemberName == "Visible")
                    {
                        Visible = Convert.ToBoolean(n.TypedValue.Value);
                        break;
                    }
                }
                break;
            }
        }
        return Visible;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值