简介
PasteForm是贴代码推出的 “新一代CRUD” ,基于ABPvNext,目的是通过对Dto的特性的标注,从而实现管理端的统一UI,借助于配套的PasteBuilder代码生成器,你可以快速的为自己的项目构建后台管理端!目前管理端只有Html+js版本的,后续将支持小程序,Vue等
案例源码
案例源码在
https://gitee.com/pastecode/paste-template
不定期升级
AllInDto!
通过引入PasteForm,一个项目哪怕100个数据表,一般的管理页面也才不到10个,除非有非常多的特殊功能,否则都能用PasteForm中的表格和表单来实现!
本次的特性介绍,涉及的东西会多一些,你可以下载源码后,看看详细的,我们先来查看下各个特性的信息
需求说明
有时候一个表的字段非常多,这个时候如果都在表单中显示,那将会非常多,也就是滚动好久才能到最下方,这个时候我们希望可以按照组别归纳,然后就可以快速的定位了,这就是group特性的引入原有!
约定,如果第一个字段也是组的,则会显示瞄点模式!
group
有时候字段太多,我们希望能否分组显示,这就需要使用group,如果第一个字段就是group,则表示最顶部使用瞄点模式
当前特性可以用于Class也可以用于Property,为了区分,封装后
PasteGroup用于Class,允许配置多个
PasteGroupItem用于Property,只允许单个,毕竟一个字段只能放于一个区块中
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | str | gr1 | 分组依据 |
args2 | str | 基础配置 | 分组名称 |
args3 | str | hide | 默认收缩还是展开,hide为收缩,其他为展开 |
如上图,由于第一个字段,是Name,归纳为组别gra,所以上图就在最上方显示了一行瞄点,点击后可以快速定位到对应的区块!
如果说我们把第一个字段的PasteGroupItem特性拿掉,你会发现变成如下:
还有一个默认的规则,那就是组别的位置要看第一个命中的字段在哪,从上到下!
所以上图中姓名跑组别 “基本信息”之上了!
group的封装
PasteGroup
/// <summary>
/// 分组 用于Class
/// </summary>
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public class PasteGroupAttribute : ColumnDataTypeAttribute
{
/// <summary>
/// 分组
/// </summary>
/// <param name="_code">代码,唯一,示例:gr1</param>
/// <param name="_name">名称,示例:基础配置</param>
/// <param name="_open">是否展开,默认展开</param>
public PasteGroupAttribute(string _code,string _name,bool _open=true)
{
base.Name = "group";
base.Args1 = _code;
base.Args2 = _name;
base.Args3 = !_open ? "hide" : "open";
}
}
PasteGroupItem
/// <summary>
/// 分组 用于Property
/// </summary>
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class PasteGroupItemAttribute : ColumnDataTypeAttribute
{
/// <summary>
/// 分组
/// </summary>
/// <param name="_code">代码,需要和Class中的特性呼应,示例:gr1</param>
public PasteGroupItemAttribute(string _code)
{
base.Name = "group";
base.Args1 = _code;
}
}
更多特性见
我们下期见!