『贴代码』
PasteSpider
PasteApeart
精选作品
【本期话题】更多
                                    我们在开发中经常遇到对方的接口请求有频率限制,比如当前接口每秒的请求不能大于100,不能大于1000,对于这样的,我们作为请求方,如何做限定?
                    
PasteApeart中如何处理批量操作?
尘埃 2024-10-26 3125 161 3
PasteApeart中,只要给对应的ListDto的Class标记bitch的属性,即可打开表格UI中的批量操作,然后结合业务函数,即可实现你自己的业务逻辑代码!

--------------------------------------------------------------------------------------------------------------

介绍专题请前往PasteApeart专题,操作文档请前往PasteApeaert操作文档

--------------------------------------------------------------------------------------------------------------

前面介绍了PasteApeart作为管理端表格和表单显示的新思路,在一次改版旧项目的时候,遇到新的需求,那就是批量操作!
一般情况下,我们的表格数据大概如下图这样显示
图片alt
如果要引入批量操作,一般的需求就是选择,也就是选择数据项的ID,作为一个IDS集合,然后执行业务逻辑!
所以PasteApeart的思路是,保持PasteApeart的文件内容和结构,然后把业务代码在公共函数中处理,比如../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 字符 预留字段

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

--------------------------------------------------------------------------------------------------------------

介绍专题请前往PasteApeart专题,操作文档请前往PasteApeaert操作文档

--------------------------------------------------------------------------------------------------------------

尘埃
161 3125 3
快捷注册
用户问答更多
  • 不用选,后面都是PasteApeart,他们其实是一个东西

  • 看版本,PasteApeart.Helper 26.9.2之后,就按照基类前面的顺序了,也符合阅读顺序,当然你可以使用PasteSort再次改变他!

  • 1.语言吧,这本身只是一个开发思想,其实其他语言也可以用,不过最优雅实现的还是.NET

    2.特别适用于需要表单,表格的系统,所以哪些EMS,CRM,ERP等都合适

    3.扩展,比如这个思想,你也可以应用于C/S,理论上也是可以的

    4.这个主要针对的是管理端,附带UI的CRUD,也就是说对于业务代码,是没影响的!

    5.可能入门会麻烦点,毕竟有接近100个PasteXXXX特性要了解,幸运的是都是Paste开头,官方的也支持,比如MaxLength,Required等!

最新动态
  • 114.****.237 正在查看 开发者部署工具PasteSpiderV5新版本更新内容 !
  • 34.****.139 正在查看 在centos7中安装docker !
  • 114.****.237 正在查看 PasteSpiderV5版本更新内容一览 !
  • 114.****.243 正在查看 贴代码框架PasteApeart特性介绍之mark(标签,书签,字段说明)的支持 !
  • 114.****.237 正在查看 【PasteApeart】最佳CRUD的实现案例项目PasteTemplate解析,包含源码(一) !
  • 114.****.1 正在查看 PasteSpider中关于Nginx的配置,安装PasteSpider之后查阅 !
  • 114.****.207 正在查看 PasteTimer软件介绍 !
  • 197.****.117 正在查看 主页pastespider !
  • 190.****.135 正在查看 文章列表页 !
  • 40.****.7 正在查看 PasteApeart又添加一个大将,快速的帮你把你的项目升级成PasteApeart类型,只需要引入一个文件即可!!! !
  • 52.****.220 正在查看 Document:spider !
欢迎加入QQ讨论群 296245685 [PasteSpider]介绍 [PasteForm]介绍 @2022-2023 PasteCode.cn 版权所有 ICP证 闽ICP备2021013869号-2