列表设计概述

  • 列表设计中需要定义列表显示字段,搜索条件等。

  • 如“客户基本信息”列表,列表设计完成后得到五个功能。

    • 查看客户基本信息列表(仅有查看权限)实例:客户基本信息查看

    • 编辑客户基本信息列表 实例:客户管理

    • 从EXCEL导入到客户基本信息(导入时应用表单设计中的验证规则,如客户姓名为空时本条记录导入失败)。

    • 从客户基本信息列表导出到EXCEL 。

    • 客户基本信息多条件搜索 。

  • 然后将不同的功能页面赋予相应人员权限。

  • 支持自定义模板,支持直接写SQL查询。

  • 简单模式下不用写代码即可实现功能模块的增删改查、导入导出EXCEL。复杂模式下可以写SQL语句、PHP语句等实现更多功能。

  • 方便的切换模板。例如“客户管理”列表页面, 客户管理(模板一) 客户管理(模板二),完全相同的数据应用了不同的模板。

  • 传统报表软件界面单调、设置繁琐,于其花时间学习其冗长的设置方法,不如直接写一句SQL查询语句,可以得到任何想要的查询结果列表。 标准sql示例 "select * from table_name where 1=1 {where_str} limit {offset},{number_each_page} "


列表实例


列表设计首页面

5.png
列表图标上点击右键展开操作菜单。列表图标可以拖动进行排序。

新建列表页面(简单模式)

6.png
选择表单后,可以从表单字段选择列表字段和搜索条件字段。当然也可以手动新建这些字段。注意:列表字段和搜索条件字段必须为SQL语句中存在的字段。

操作权限新建,查看,编辑,删除,导入EXCEL,导出EXCEL。选择后这些权限将出现在列表页面。

列表字段设置和搜索条件设置可以拖动行进行字段排序。

列表字段设置

f8.png
字段描述将作为列表表头。字段为数据库中查询字段。其他可以填写表头属性,例如“width='100'”。

搜索条件设置

f9.png
搜索条件将自动生成一个SQL语句代码片段,如上图所示,“ and pname like '%$pname%' ”,并替换到SQL语句中的{where_str}位置。

新建列表页面(复杂模式)

复杂模式下列表设计页面中表单项不是必填的,选择表单的目的仅是为了方便选择字段。这样就可以写SQL语句查询现有的数据库表得到报表页面。例如要对公司现有的CRM系统进行二次开发,直接查询CRM数据库即可。

v1.png
复杂模式下允许编写SQL语句和PHP语句。

SQL语句代码规范

一般的报表软件会有非常复杂的报表设计功能,于其花时间了解学习他们的设计规则,不如写一句SQL语句,可以任意写出更多复杂的查询,例如实际应用中“查询当前库存”,“得到一个客户销量排行”等,只需要一句SQL。支持多种数据库,MYSQL,MSSQL,Oracle等。查询语句基本类似。学习SQL查询

SQL中允许出现PHP变量。例如想得到一个当前用户新建的客户基本信息列表,可以这样写:"select * from custom where addUserId='$_SESSION[userid]' {where_str}"。“{where_str}”字符将替换为搜索条件设置中生成的where子句。

SQL语句中可能出现多个where子句,如何把搜索条件中生成的where子句替换到正确的位置?例如可以这样写:"select * from custom where addUserId in (select uid from user where 1=1 {where_str2}) {where_str}",其中{“where_str2}”和“{where_str}”将会分别替换为搜索条件位置中的“where_str2”和“where_str”。在此不用过多描述,会写SQL语句的你一定非常明白作者的设计意图。更多写法请参考本网站的 实例讲解

分页SQL示例:"select * from custom where addUserId='$_SESSION[userid]' {where_str} order by addTime asc limit 10,$_GET['per_page'] "。 $_GET['per_page']是查询开始位置,是一个系统默认变量。v5.png

格式化一行代码规范

格式化一行设置的作用。实际应用中可能需要对SQL查询出来的结果进行格式化再输出到列表页面。

例如查询结果中性别一列用$data['sex']表示,0=男,1=女,格式化代码这样写:if($data['sex']=="0"){$data['sex']="男";} if($data['sex']=="1"){$data['sex']="女";}

例如查询结果中库存数量一列,库存小于等于0的用红色标记。 格式化代码这样写:if($data['kucun']<=0){$data['kucun']="<div style='color:red'>$data['kucun']</div>";}

格式化代码必须严格遵守PHP语法,否则会出错。

格式化代码中$data为系统默认变量,$data是一个查询结果数组。例如:$data=array( "userid"=>"admin", "username"=>"系统管理员", "password"=>"123456", "sex"=>"0", );

格式化代码中允许出现查询结果中不存在的字段,例如:$data[操作]="编辑 删除",“操作”一列将会出现在列表中。

更多写法请参考本网站的实例讲解…………