『贴Builder』
最新文章
热门话题
用户问答
lao人言
「搜索」
PasteSpider
一款更加适合开发人员的微服务(容器)发布管理工具

节省资源

极小的运行资源消耗,还支持一拖多运行,运行内存甚至低至100MB!

安全运行

和业务服务没有层级上的关联,哪怕PasteSpider停止运行也不会影响你的业务服务运行

简单易上手

一键安装,图形操作点点点即可完成操作,附属服务的支持原汁原味,简单易上手

环境隔离

支持拆分多环境运行,工厂,测试两不误,还可以根据环境配置适应不一样的配置信息

适用功能一应俱全

从项目角度进行服务容器管理,支持自动升级,扩容,缩减,状态报表,键值配置,自动路由等

支持Git/Svn代码管理

通过配置支持服务环境级别的自动提交构建,一键提交代码后即可自动发布服务和路由等

PasteForm中,表格的不一样的样式的设定?
丿爱你不变心彡 2024-10-26 168 19 0
PasteForm中,如何个性化显示表格的样式或者布局?使用html这个属性,可以自定义输出数据的格式,一般是附带了html的内容输出!

有些时候我们需要针对表格的数据,针对不同的值进行不一样的渲染,而不是干巴巴的问题体现
图片alt
比如上面的,权限的话样式为红色的,菜单的话为蓝色的,然后是基于不同层级字体大小不一样
如果我们打开F12的话,会看到表格中这一列的不同数据的差异
图片alt
通过上图可知,其实就是字段的值不一样,对应的class不一样,然后去编写class让差异化体现出来
这里用到的其实是一个属性html

html

如果要显示自定义的表格,则使用这个,表示直接显示信息模板注意里面的带参使用{{:=item.name}}这样的形式

字段 类型 示例 说明
args1 字符 <div><span>{{:=item.name}}</span><span>{{:=item.desc}}</span></div> 需要在td中显示的html代码,支持模板的写法

按照上面的说明,也就是在某一个字段上添加属性html,则到时候渲染的内容就是args1的内容了,而如果你要引用其他字段的值,则需要使用{{:=item.xxx}}的模式,xxx表示其他字段,注意是首个单词小写字母打头

如果上面的roleInfo,我的ListDto的内容如下

    ///<summary>
    ///权限列表
    ///</summary>
    public class RoleInfoListDto
    {
        /// <summary>
        /// ID
        /// </summary>
        [ColumnDataType("orderby", "Id", "Id desc")]
        public int Id { get; set; }

        ///<summary>
        ///名称
        ///</summary>
        [PasteLeft]
        [ColumnDataType("html", "<div class=\"level level{{:=item.level}} role{{:=item.roleTypeInt}}\">{{ if(item.icon){ }}<i class=\"Hui-iconfont {{:=item.icon}}\"></i>{{ } }} {{:=item.name}}</div>")]
        public string Name { get; set; }

        ///<summary>
        ///模块
        ///</summary>
        [PasteLeft]
        public string Model { get; set; }

        ///<summary>
        ///权限
        ///</summary>
        [PasteLeft]
        public string Role { get; set; }

        /// <summary>
        /// 图标名称 一般表示样式名称
        /// </summary>
        [MaxLength(32)]
        [PasteHidden]
        public string Icon { get; set; }

        /// <summary>
        /// 路径 作为菜单类型的路径
        /// </summary>
        [MaxLength(128)]
        [PasteLeft]
        public string Path { get; set; }

        /// <summary>
        /// 权限类型 0权限1菜单2按钮,如何让前端支持这个显示
        /// </summary>
        [PasteSelect(PasteFormString.SelectRoleTypeQuery)]
        public int RoleType { get; set; }

        /// <summary>
        /// 权限类型
        /// </summary>
        [PasteHidden]
        public int RoleTypeInt { get { return RoleType; } }

        ///<summary>
        ///描述
        ///</summary>
        public string Desc { get; set; }

        ///<summary>
        ///状态
        ///</summary>
        [ColumnDataType("switch", "view")]
        public bool IsEnable { get; set; }

        /// <summary>
        /// 绑定 扩展基于角色的时候是否拥有这个权限
        /// </summary>
        [ColumnDataType("switch")]
        [ColumnDataType("hidden", "bind")]
        public bool ExtendBind { get; set; }

        ///<summary>
        ///排序
        ///</summary>
        [ColumnDataType("orderby", "Sort", "Sort desc")]
        public int Sort { get; set; }

        ///<summary>
        ///父级ID
        ///</summary>
        [ColumnDataType("outerdisplay", "", "extendFather?.name || ''")]
        public int FatherId { get; set; }

        /// <summary>
        /// 父级信息,为了给上一个字段FatherId显示使用,你也可以把FatherId隐藏,只显示这个字段,或者2个都显示
        /// </summary>
        [ColumnDataType("hidden")]
        public RoleShortModel ExtendFather { get; set; }

        ///<summary>
        ///层级
        ///</summary>
        [ColumnDataType("orderby", "Level", "Level desc")]
        public int Level { get; set; }

        ///// <summary>
        ///// 扩展 基于角色ID查询,查询这个角色包含哪些权限这个使用上传query
        ///// </summary>
        //[ColumnDataType("hidden")]
        //public int ExtendGradeId { get; set; }

        ///<summary>
        ///排序串
        ///</summary>
        [PasteHidden]
        public string SortStr { get; set; }

        /////<summary>
        /////
        /////</summary>
        //public int RootId { get; set; }

        /////<summary>
        /////
        /////</summary>
        //public string FatherStr { get; set; }

        /// <summary>
        /// 添加子权限
        /// </summary>
        [ColumnDataType("menu", "添加子集", "open_window('添加子权限','./view.html?path=roleInfo&fatherId={{:=item.id}}');")]
        public int Menu1 { get; set; }

        /// <summary>
        /// 详情
        /// </summary>
        [ColumnDataType("menu", "详情", "open_window('详细','./detail.html?path=roleInfo&id={{:=item.id}}');")]
        public int Menu2 { get; set; }

    }

注意看

        ///<summary>
        ///名称
        ///</summary>
        [PasteLeft]
        [ColumnDataType("html", "<div class=\"level level{{:=item.level}} role{{:=item.roleTypeInt}}\">{{ if(item.icon){ }}<i class=\"Hui-iconfont {{:=item.icon}}\"></i>{{ } }} {{:=item.name}}</div>")]
        public string Name { get; set; }

需要注意,如果通过属性对某一个字段进行了修改,需要注意这个是否会修改到他对应的值,比如上面的

        /// <summary>
        /// 权限类型 0权限1菜单2按钮,如何让前端支持这个显示
        /// </summary>
        [PasteSelect(PasteFormString.SelectRoleTypeQuery)]
        public int RoleType { get; set; }

        /// <summary>
        /// 权限类型
        /// </summary>
        [PasteHidden]
        public int RoleTypeInt { get { return RoleType; } }

由于PasteSelect也就是属性select的介入,在UI中roleType实际的值为select的value,如果其他地方要使用这个字段的原值,则需要使用roleTypeInt

那么有一个新的问题?

本期思考话题:如果我的数据显示需要跨行,跨列要如何实现???

评论列表
丿爱你不变心彡
19 168 0
快捷注册
最新动态
  • 53.****.232 正在查看 PasteForm中,表格的不一样的样式的设定? !
  • 210.****.223 正在查看 PasteSpider中如何同步文件到服务器包含PasteSpiderFile的下载 !
  • 219.****.36 正在查看 PasteBuilder的进阶用法 !
  • 150.****.200 正在查看 PasteForm中如何处理批量操作? !
  • 4.****.33 正在查看 PasteSpider的测试环境之在Docker中安装centos7并设定SSH的密码 !
  • 63.****.85 正在查看 在Centos7中安装Nginx !
  • 144.****.129 正在查看 在centos7中安装docker !
  • 205.****.136 正在查看 Postgresql的安装 !
  • 20.****.212 正在查看 使用PasteSpider实现CI/CD持续部署,类似Jenkins的功能,让你的2G服务器也可以飞起 !
  • 156.****.112 正在查看 PasteBuilder的进阶用法 !
  • 219.****.163 正在查看 PasteSpider测试环境之为centos7中的ssh启用证书登陆模式 !
欢迎加入QQ讨论群 296245685 更新记录 [PasteSpider]介绍 @2022-2023 PasteCode.cn 版权所有 ICP证 闽ICP备2021013869号-2