一些简单配置
配置自定义的查询
通过前面的学习,我们已经知道了添加查询条件的方法,即在DataXml配置Field(字段)的时候设置<tk:ListDetail Search="true">
即可。这时系统采用的是DefaultSearch机制(默认的查询)
在默认查询的基础上,咱们还可以做以下扩展:
-
同一个条件用两个字段进行查询
譬如:查询文章标题或者文章详情包含某内容的设置,如下:
<tk:ListDetail> <tk:ListSearch> <tk:TwoFieldSearch OtherNickName="desc"/> </tk:ListSearch> </tk:ListDetail>
-
同一个条件用多个字段进行查询
譬如:查询文章标题或者文章详情或者标签包含某内容的设置,如下:
<tk:ListSearch> <tk:MultipleFieldSearch> <tk:NickName>desc</tk:NickName> <tk:NickName>tag</tk:NickName> </tk:MultipleFieldSearch> </tk:ListSearch>
-
精确查询
默认查询时模糊查询的,如想要精确查询,设置如下:
<tk:ListSearch> <tk:EqualSearch /> </tk:ListSearch>
-
模糊查询
默认查询时模糊查询%value%的,如想要value%的模糊查询,设置如下:
<tk:ListSearch> <tk:StartLikeSearch /> </tk:ListSearch>
配置列表
列宽
默认情况下,列表的宽度是通过自适应决定大小的,如果觉得默认的宽度过宽或者过窄,那么可以人为设置列表的宽度,设置如下:
<tk:ListDetail ListWidth="100">
<tk:ListDisplay>
<tk:AutoDisplay/>
</tk:ListDisplay>
<tk:DetailDisplay>
<tk:AutoDisplay/>
</tk:DetailDisplay>
</tk:ListDetail>
禁止排序
默认情况下,点击列头可实现该字段的排序。如因为性能问题或者业务需要,禁止排序功能,设置如下:
<tk:ListDetail TextHead="true">
<tk:ListDisplay>
<tk:AutoDisplay/>
</tk:ListDisplay>
<tk:DetailDisplay>
<tk:AutoDisplay/>
</tk:DetailDisplay>
</tk:ListDetail>
TextHead,顾名思义,文字头的意思。一般来说类型为text的字段是不能排序的(这个系统已经自动设置了)
配置字段的默认值
默认情况下,新增的时候,所有的字段都是没有默认值的。实际项目中,经常需要设置默认值,设置如下:
<tk:Edit>
<tk:DefaultValue>255</tk:DefaultValue>
</tk:Edit>
宏的简单介绍
宏(Marco)是早期开发的功能,用于执行片段代码。它能实现的功能Evaluator也可以实现。慢慢的,系统将逐步用Evaluator来替代宏。
当给一个日期设置默认值时,如果默认值是今天,那么使用静态的值,显然是不合适的。这时候,我们引入了宏。宏可以执行一个代码片段。宏采用插件的方式,因此,可以根据实际需要开发适合自己的插件。
当然,在引入Evaluator后,它也能执行代码,而且运算能力明前强于宏。因此,慢慢的可能会用Evaluator来替代宏。只是为了兼容性,暂时还保留着宏。
系统有两种类型的宏,一种是不带参数的,一种是带参数的。宏需要用{}包围,并且在Xml标签中设定NeedParse为true才能启动宏的执行。
不带参数的宏可以直接使用。比如,将默认值设置为今天:
<tk:Edit>
<tk:DefaultValue NeedParse="true">{Today}</tk:DefaultValue>
</tk:Edit>
带参数的宏,首先需要使用对应的注册名(通常都是只有一个字符),而后面跟着的全部都认为是携带的参数。比如将默认值设定为QueryString的Name参数对应的值:
<tk:Edit>
<tk:DefaultValue NeedParse="true">{#Name}</tk:DefaultValue>
</tk:Edit>
不带参数的宏
注册名 | 描述 |
---|---|
OrgId | 登陆用户的机构Id |
UserId | 登录用户的Id |
UserName | 登录用户的Name |
HomePage | 返回系统配置的HomePage |
Month | 当月(MM) |
MonthStartDate | 当月开始日期(yyyy-MM-01) |
Now | 现在(格式为yyyy-MM-dd HH:mm:ss) |
Today | 今天(格式为yyyy-MM-dd) |
Year | 当年(yyyy) |
YearStartDate | 当年开始日期(yyyy-01-01) |
带参数的宏
注册名 | 描述 |
---|---|
% | 获取AppSetting中配置的Host值 |
$ | 查询数据表中的字段值 |
@ | 生成数据表的Unique ID |
# | 获得Request.QueryString的数据 |
宏的扩展
当然,实际项目中你也可以扩展自己的宏。
如果你想知道你的项目支持哪些宏,可以运行程序后通过以下网页查看:
- 带参数的宏:c/plugin/CCode/Trace?Name=_tk_ParamExpression
- 不带参数的宏:c/plugin/CCode/Trace?Name=_tk_Expression
关注微信公众号获取TKCore最新资讯: