在我们的《E6企业应用软件可视化开发平台》(下面简称“开发平台”)中,每个表单默认都会有一个查询列表,比如下图是在开发平台中新增加的一个表单“客户服务”,那么默认就会自动在表单详情节点下增加一个查询列表页面,查询列表页面初始显示如下:
我们这一章讲的是“查询列表控件”,也就是上图查询列表页面中红框的部分,上图中他是没有设置列的。所以为了讲解“查询列表控件”,我们需要先完成新单据详情页面设计。
所以现在我们先设计“客户服务”表单的详情页面,双击打开客户服务详情页面,设计客户服务内容如下:
在客户服务详情页面中,我们引用了“客户信息”单据的客户名称(如果您不知道怎么引用字段,请参考《引用字段》),增加了“服务时间”、“服务内容”、“服务时长”等字段,其中“服务时长”为“小数控件”。完成详情页面设计以后,进入查询列表页面(上面第一图):
1、增加过滤条件:右键选中新增加的空白的查询列表页面上方的“查询条件控件”后点击弹出菜单项“选中单据字段”,如下图:
如下图,我们添加了“客户名称”和“服务时间”的过滤条件:
下面增加查询列表列,如下图,我们点击“查询列表”页面中的“查询列表”控件后,点击属性“列设置”后面的按钮进入列设置页面:
如下图在“设置列表字段”中勾选左侧想要显示在列表中的字段后,右侧的表格自动显示勾选的列。
上面我们完成了“查询列表控件”的列设置,下面我们详细介绍一下这个控件。
默认查询列表控件位于“查询列表”编辑页面的“工具箱\查询列表控件”下,如下图,当然我们默认增加的表单中都已经自动添加好了的,但是您需要知道它在哪里:
查询列表控件的属性比较多,所以我们按属性分类分别介绍:
1、Web属性:
弹出窗体:True则表示增加,查看表单的时候为弹出窗口,否则默认显示在主页面的tabs中;
有编辑连接:False则表示不显示“操作列”中的“查看 | 编辑”按钮;
横向滚动:默认False。我们查下列表是如下显示的,“操作”列在列表右侧,并且不论列表中有多少列,都自动填满查询列表,下方不会显示滚动条。
横向滚动为True则如下显示,“操作”列显示到左边,且查询列表如果列多的时候下方会显示滚动条:
列表、提交区域脚本、操作列格式化这三个属性涉及到Js定制化,所以在本章内容没有实际场景的情况下暂时忽略,如果您有需求请联系我们。
2、弹出窗体:
弹出窗体属性主要用于多表单组合生成的视图,子表查询页面双击打开的时候想显示的是主表页面等等。
窗体编号:比如我们“经纪费”收款单列表中显示的是收款明细,但是点击“查看 | 编辑”的时候希望显示的是收款单。
如下图,点击“查看 | 编辑”后显示的是经纪费收款单,那么就可以设置“窗体编号”属性为经纪费收款单的编号了:
窗体编号列:上面介绍的是直接设置“窗体编号”属性(但是这种是固定的,所有记录点击后都是弹出“窗体编号”指定的窗口)。但是如果我们的表单是一个多表汇总的视图呢?那么我们就可以在视图中增加一列表示源数据属于哪个表单,希望点击数据时显示源表单,则这里就可以设置“源表单”所在的列名称了。
窗体数据ID列:这个和“窗体编号列”的场景类似,主要用于多表汇总视图的查询列表中,点击显示源表单。
比如下图就是一个汇总视图的查询列表,视图显示的数据分别从“民商案件”、“刑事案件”、“法律顾问”、“非讼案件”等几个表单中汇总显示的,那么希望点击点击“查看 | 编辑”后根据这条数据来源于哪类案件,分别显示不同的案件页面!
3、分页属性
Web分页:默认True,表示Web上的查询列表默认是分页的;
显示总记录数:此属性目前已经废除;
客户端分页:指是否在Winform客户端中也分页显示;
客户端可选列表:表示在Winform客户端中设置的每页可显示的选项;
每页记录数:设置每页默认显示的记录数,默认20条;
4、基本属性:基本属性中我们只需要关注“导出行序号”、“显示行表头”、“导出标题”属性即可。
导出行序号:True表示导出到Excel时会有个“序号”列,默认False不包括“序号”列,如下图:
显示行表头:表示在客户端显示的时候是否显示行表头(行序号):
导出标题:输入文字。默认导出的到Excel时第一行就是列信息。假设我在这个例子中设置“导出标题”属性值为“客户服务列表”后导出效果如下:
5、事件:查询返回后执行的脚本。
查询后事件:查询返回后执行的JS脚本,这个只能根据自身需要进行定制,比如我们曾用这个事件给客户定制,查询后在下方分页状态栏中增加一些信息,如下图:
6、数据属性:
初始显示条件:设置进入“查询列表”页面时默认显示的条件。
限制条件:表示此查询列表的显示条件,不满足条件的将不会显示在此查询列表中。
列设置:点击后面的按钮后设置要显示在表格中的列;
默认分组:默认情况下,查询列表是没有分组显示的,假设我们如下图设置:
则显示如下(按客户名称分组显示):
单元格没值显示空:如果列表中有数字列,那么如果数字列没有值(“0”表示没值),则此单元格显示空白(不会显示“0”);
行颜色:根据条件设置行颜色,假设:“服务时长” 大于等于 “2”显示红色字体; “服务时长” 大于等于 “1”且小于“2”则显示蓝色字体;那么我们可以如下设置:
则客户端显示如下:
自动查询:True表示进入查询列表页面后自动加载数据,否则进入后列表显示空白;
有合计行:True表示显示当前页的合计行,要显示合计行,则必须要有“合计字段”,如下图:
则客户端将会显示当前页的合计行,如下图:
有总合计行:表示有满足当前查询条件的所有数据的合计行。
合计行固定:表示合计行固定在表格最下方(上面的两图中合计行是在最后一条数据的后面):
汇总表:True表示本查询列表为汇总表,会根据所有非“数字列”按顺序进行SQL的Group By进行数据汇总,因为汇总表中每一条数据都可能是多条数据汇总的,所以汇总表有如下特点,且所以常用于“统计报表”中:
1)、汇总表不能删除;
2)、汇总表没有“查看 | 编辑”操作列,且双击不能打开查看明细;
比如设置汇总表为True后,显示如下(其中第一条数据其实是2条数据汇总而来的):
汇总表配合着自定义的“操作按钮列”,更是可以实现汇总统计,报表下钻的功能。
完结!