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

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

PasteForm的升级版PasteApeart,享受极致简洁的框架的魅力,点击查看文档

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

前面介绍了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 字符 预留字段

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

评论列表
尘埃
161 3087 3
快捷注册
用户问答更多
PasteApeart和PasteForm如何选择?
  • 不用选,后面都是PasteApeart,他们其实是一个东西

PasteApeart中有多层级继承的,表单中的字段排列顺序有什么规则?
  • 看版本,PasteApeart.Helper 26.9.2之后,就按照基类前面的顺序了,也符合阅读顺序,当然你可以使用PasteSort再次改变他!

PasteForm,神奇了啊!都说低代码,低代码,那个是对于非开发者来说的,感觉PasteForm就是开发者的低代码啊!只要配置好Model,就有对应的CRUD操作,还带一些逻辑,和生成代码是两码事了!!!问题来了,有什么局限性,或者适用哪些场景?
  • 1.语言吧,这本身只是一个开发思想,其实其他语言也可以用,不过最优雅实现的还是.NET

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

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

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

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

最新动态
  • 77.****.1 正在查看 主页pastespider !
  • 95.****.90 正在查看 主页pastespider !
  • 45.****.19 正在查看 主页pastespider !
  • 77.****.143 正在查看 主页pastespider !
  • 87.****.1 正在查看 主页pastespider !
  • 36.****.82 正在查看 文章列表页 !
  • 45.****.21 正在查看 主页pastespider !
  • 196.****.136 正在查看 贴代码框架PasteApeart特性介绍之markdown和richtext !
  • 36.****.24 正在查看 主页pastespider !
  • 36.****.24 正在查看 主页pastespider !
  • 52.****.219 正在查看 文章列表页 !
欢迎加入QQ讨论群 296245685 [PasteSpider]介绍 [PasteForm]介绍 @2022-2023 PasteCode.cn 版权所有 ICP证 闽ICP备2021013869号-2