『贴代码』
技术分享
精选作品
优选问答
成长笔记
PasteForm中如何处理批量操作?
尘埃 2024-10-26 2665 161 0
PasteForm中,只要给对应的ListDto的Class标记bitch的属性,即可打开表格UI中的批量操作,然后结合业务函数,即可实现你自己的业务逻辑代码!

更多特性PasteForm的介绍,请前往PasteForm操作文档查看 PasteForm操作文档与介绍


前面介绍了PasteForm作为管理端表格和表单显示的新思路,在一次改版旧项目的时候,遇到新的需求,那就是批量操作!
一般情况下,我们的表格数据大概如下图这样显示
图片alt
如果要引入批量操作,一般的需求就是选择,也就是选择数据项的ID,作为一个IDS集合,然后执行业务逻辑!
所以PasteForm的思路是,保持PasteForm的文件内容和结构,然后把业务代码在公共函数中处理,比如../lib/api.js中
图片alt
如上图,表示给这个表添加了2个批量操作,一个是批量启用,一个是批量禁用
那么要显示数据前面的checkbox和上面的“批量启动”,”批量禁用”,在dto中是如何实现的?
在对应的dto中的clss添加对应的属性bitch

    ///<summary>
    ///测试表 用于测试CURD的表
    ///</summary>
    [PasteBitch("批量启用", "global_bitch_state(this,1)")]
    [PasteBitch("批量禁用", "global_bitch_state(this,0)")]
    public class TestTableListDto : EntityDto<int>
    {
        ///<summary>
        ///姓名 模拟短文本输入
        ///</summary>
        public string Name { get; set; }


    }

注意看上面的global_bitch_state,这个就是你自己定义的函数了,在案例项目中,我是把global_bitch_state写入到../lib/api.js中的,这样pasteform里面的代码就不会被污染了!
我们来看看,PasteBitch里面是怎么定义的

    /// <summary>
    /// 批量操作
    /// </summary>
    public class PasteBitchAttribute : ColumnDataTypeAttribute
    {

        /// <summary>
        /// 
        /// </summary>
        /// <param name="_name"></param>
        /// <param name="_script"></param>
        /// <param name="_iconfont"></param>
        public PasteBitchAttribute(string _name, string _script, string _iconfont = "")
        {
            base.Name = "bitch";
            base.Args1 = _name;
            base.Args2 = _script;
            base.Args3 = _iconfont;
        }
    }

会发现其实和menu的设定是一样的
再看看文档说明

bitch

用户表格数据中的批量操作,示例<input type="button" class="btn btntool" value="args1" onclick="args2">

字段 类型 示例 说明
args1 字符 编辑 按钮的名称
args2 字符 open_view(<%:=item.id%>); onclick事件的代码
args3 字符 Hui-iconfont-menu 暂未实现,预留给图标用
args4 字符 预留字段

至于样式啥的,后续再修改哈!

评论列表
尘埃
161 2665 0
快捷注册
热门推荐更多
PasteDocument
贴代码PasteForm框架配套的在线文档,使用者在操作系统的时候只要点击表单字段的名词后面的"?"即可查看对应字段的说明,案例,注意事宜等!;
用户问答更多
07月份版本的内存占用比以前大了,也没有泄漏,啥情况?以前200MB,这个版本能到300MB
文档中的组织归属有些问题,啥时候看看,更新更新!
  • 已经升级了,主要是left join的查询的时候没有过滤,其实这个问题,多租户也是一样的!

PasteSpider的集群方式,我还是没太懂,啥时候出一个专题来讲解讲解?
  • b不难吧,就几个地址!

最新动态
  • 54.****.209 正在查看 PasteSpider之2025年06月更新一栏 !
  • 54.****.83 正在查看 PasteSpider之2025年06月更新一栏 !
  • 112.****.20 正在查看 文章列表页 !
  • 216.****.168 正在查看 PasteSpider的运行条件之SVNManage中Hook的配置 !
  • 167.****.190 正在查看 主页spider !
  • 52.****.193 正在查看 Document:spider !
  • 52.****.232 正在查看 文章列表页 !
  • 52.****.196 正在查看 正在查看笔记页面 !
  • 121.****.37 正在查看 正在查看笔记页面 !
  • 40.****.121 正在查看 Document:spider !
  • 40.****.255 正在查看 正在查看笔记:34 的详细信息 Page:1 ! !
欢迎加入QQ讨论群 296245685 [PasteSpider]介绍 [PasteForm]介绍 @2022-2023 PasteCode.cn 版权所有 ICP证 闽ICP备2021013869号-2