一个功能完备的数据列表页面应该给用户提供丰富的查询条件,以便用户可以根据各种条件查询自己想要的数据,为此,TaskBuilder的创建数据查询页面的向导提供了专门的设置动态查询参数的界面,所谓“动态查询参数”是指在进行数据查询时,如果前端页面给后台服务传了该参数,就使用该参数对应的查询表达式作为查询条件进行查询,如果该参数没有传值,则不使用该参数对应的查询表达式作为查询条件进行查询。多个参数都有值时,它们对应的多个查询条件是并且(and)的关系,即只查询这些条件都满足的数据记录。
在上图所示界面中,先在上部的查询字段列表里选择要作为查询条件的字段,然后在后面的查询条件列表里选择查询条件,然后点最后面的加号图标,即可添加一个动态查询参数。
可选的查询条件包括以下几种:
[if !supportLists]l [endif]模糊查找:表示查找指定字段的值包含指定查询参数的数据记录,该查询条件默认的查询表达式是:{%req.查询参数名%},表示只要该条件对应的字段值包含指定查询参数的值,就算是符合条件;如果只想查询前缀为指定查询参数值的记录,则可以将查询表达式设置为:{req.查询参数名%};反之,如果只想查询后缀为指定查询参数值的记录,则可以将查询表达式设置为:{%req.查询参数名};这里的%是SQL中的 通配符,表示匹配0个或多个字符。模糊查询只支持字符串类型的字段,数值、日期等类型不支持使用模糊查询。
[if !supportLists]l [endif]等于:表示查找指定字段的值与指定查询参数相等的数据记录,例如:id={req.id},表示要查询id字段的值等于名为id的查询参数的值。等于判断可以用于数值、日期时间、字符、短字符串等类型的字段,字符串类型的字段如果有比较长的字符串值,不建议进行等于判断;文本、二级制类型的字段不能用等于判断。
[if !supportLists]l [endif]大于:表示查找指定字段的值大于指定查询参数的数据记录,例如:id>{req.id},表示要查询id字段的值大于名为id的查询参数的数据记录。大于判断可用于数值和日期时间类型的字段,不能用于字符、字符串、二进制类型的字段。
[if !supportLists]l [endif]小于:表示查找指定字段的值小于指定查询参数的数据记录,例如:id<{req.id},表示要查询id字段的值小于名为id的查询参数的数据记录。小于判断可用于数值和日期时间类型的字段,不能用于字符、字符串、二进制类型的字段。
[if !supportLists]l [endif]大于或等于:表示查找指定字段的值大于或等于指定查询参数的数据记录,例如:id>={req.id},表示要查询id字段的值大于或等于名为id的查询参数的数据记录。大于或等于判断可用于数值和日期时间类型的字段,不能用于字符、字符串、二进制类型。
[if !supportLists]l [endif]小于或等于:表示查找指定字段的值小于或等于指定查询参数的数据记录,例如:id<={req.id},表示要查询id字段的值小于或等于名为id的查询参数的数据记录。小于或等于判断可用于数值和日期时间类型的字段,不能用于字符、字符串、二进制类型。
[if !supportLists]l [endif]不等于:表示查找指定字段的值不等于指定查询参数的数据记录,例如:id<>{req.id},表示要查询id字段的值不等于名为id的查询参数的数据记录。不等于判断可用于数值、日期时间、字符、短字符串等类型的字段,字符串类型的字段如果有比较长的字符串值,不建议进行不等于判断;文本、二级制类型的字段不能用不等于判断。
[if !supportLists]l [endif]起止日期:用来同时添加开始日期和结束日期这两个查询参数,仅能用于日期时间或日期类型的字段,如果查询字段的类型是日期时间格式(yyyy-MM-dd HH:mm:ss),则在开始日期的查询表达式里,需要加上0:00:00,结束日期的查询表达式里,需要加上23:59:59,否则查询结果会不准确,因为前端页面传给后台服务的起止日期只有日期值,不包含时间。
添加后的动态查询参数可以设置以下几项内容:
[if !supportLists]l [endif]参数名称:用来设置从列表页面传递给后台服务的查询参数的名称,不一定非得跟数据模型中的字段名一致,对应的是列表页面里查询条件输入项组件的编号。如果设置了多个查询参数,则这些查询参数的名称不能重复;
[if !supportLists]l [endif]参数说明:用来设置列表页面里,各个查询条件输入项的文本标签的内容;
[if !supportLists]l [endif]输入项类型:用来设置列表页面里,各个查询条件输入项的类型,默认为单行文本输入框;
[if !supportLists]l [endif]查询表达式:用来设置在数据库中执行实际查询时,各个查询参数对应的查询条件表达式,在添加查询参数时会根据选择的查询条件自动生成,也可以手动输入或修改,双击查询条件表达式输入框,可以打开SQL编辑助手编写复杂的查询条件表达式;
[if !supportLists]l [endif]默认值:用来设置在列表页面里,该查询条件输入项的默认值,一般只有单选框、多选框和下拉列表这几种类型的输入项需要设置默认值;
[if !supportLists]l [endif]数据字典:用来设置在列表页面里,该查询条件输入项是否关联指定的数据字典,显示其选项列表,如果设置了数据字典,则输入项类型会自动使用下来列表形式;
[if !supportLists]l [endif]可选值:用来设置单选框、多选框和下拉列表这几种输入项的可选值;
对于我们要创建的客户信息列表页面来说,可以参考上图设置相应的动态查询参数,设置好后,点击下一步按钮,即可进行第五步的操作。