TKCORE框架学习之入门篇(六)--EasySearch 介绍
EasySearch 介绍
在 CodeTable 章节中,我们介绍了有编码支持两种方式。那些数据量较小,内容相对固定的可以使用 CodeTable。但是对于那些数据量非常大,或者数据内容经常变化,这时就考虑 EasySearch 了。
表面上 CodeTable 和 EasySearch 都是存储具体的 Id,显示的时候进行解码显示。但是,在数据处理上,两个是不同的。CodeTable 因为数据量少,内容不太变化,所以一般来说,它的数据会全部取出,同时在大多数情况下,采用缓存对数据进行处理,这样有较好的性能。对应的,与它配对的常用控件是 Combo。而 EasySearch 的数据量巨大,内容常变化,因此,EasySearch 的数据是不可能全部取出,也不可能用 Combo 来显示。所以,EasySearch 有专门的 EasySearch 控件来配合。EasySearch 采用即时搜索的方式,根据用户的输入,搜索出合适的适量数据(默认最多 15 条),随着用户输入的增加,会非常容易找到需要匹配的数据。此外,根据中国人的输入习惯,EasySearch 还默认提供了拼音字头的搜索方式,方便用户检索数据。EasySearch 在解码采用了性能优化,因此,有非常良好的运行性能。
此外,EasySearch 还支持级联功能,比如两个字段,一个是部门,一个是人员。选择部门后,希望选择的人员不是所有的人员而是选定部门下的人员,那么使用级联功能,就可以对人员进行约束,只有该部门的人员才会显示。
在 CodeTable 中,我们介绍过标准代码表。有些代码如果数量比较多,比如民族代码有 60 条左右,而省市县代码有 3000 多条,这些亦可以采用 EasySearch 来录入。对于标准代码表,无需注册,直接用标准代码表的表名即可,系统会自动注册。
Toolkit 也提供了使用 Xml 注册 EasySearch 的方法。Xml 必须放在 Xml/Decoder 目录下,并且以EasySearch.xml结尾。
下面介绍几种比较简单的 EasySearch 的注册方式,稍微复杂一点的 EasySearch 放在初级篇介绍。
常规 EasySearch
<tk:Tk5EasySearch DataXml="UserManager/User.xml" RegName="USER" Author="YJC" CreateDate="2014-07-12" Description="用户"/>
<tk:Tk5EasySearch DataXml="UserManager/Part.xml" RegName="PART" Author="YJC" CreateDate="2014-07-12" Description="角色"/>
通常数据表,只要有对应的 DataXml,就可以轻松注册 EasySearch 了。当然还有一些额外的属性,如果需要的话,需要进行配置。
OrderBy 数据的排序。默认的,数据按照数据表的聚集索引进行排序,如果需要调整排序方式,可以配置这个属性。配置时,需要添加 order by 的关键字。
TopCount 配置一次最多显示的搜索项,默认为 15
IdField 默认是以数据表的主键作为 Id 的,但是,如果业务上需要其他字段而不是主键,那么在这个属性中配置对应字段的昵称
NameField 默认是以 DataXml 配置的 Name 字段作为 NameField 的。但是,如果业务上需要其他字段,那么在这个属性中配置对应字段的昵称
PyField 如果有存储 Name 的拼音简写字段,就配置该字段。否则将模拟生成 SQL 对 Name 字段进行查询
标准代码表表 EasySearch
通常情况下,标准代码表是无需配置的,不过这样一切都是默认的。如果想修改排序或者其他属性,那么就需要配置对应的 EasySearch。
以下是具体例子:
<tk:Tk5CodeTableEasySearch TableName="CD_SEX" RegName="MYSEX" OrderBy="ORDER BY CODE_VALUE" ></tk:Tk5CodeTableEasySearch>
关于TKCore的更多信息请点击:http://www.tkcore.net
浙公网安备 33010602011771号