记得刚开始使用grid时,如果想对一个类别字段进行显示,往往需要在后台写一个方法,通过页面调用的方式来显示字段信息,当然这也只是一种方式,有的可能在数据返回时已经作了处理,处理方式除了SQL联合查询外,一般都要有一个数据源的存在,能够灵活的绑定数据源,是列表功能快速开发的一个基本要求。
自定义列表中的数据源绑定也是源自上述思想,对于一个类别字段,首先我们要知道它的数据源应该是什么,说到数据源类别,这里还可以分为多种,最为常见的就是自定义SQL语句来查询,比如项目的业务类型、部门名称等,可以通过组织SQL语句的方式来获取一个键值对结构的数据源。另外对于一个系统而言,有一个数据字典库还是非常有必要,能够为系统提供常用、较为固定的数据信息,比如性别、是否、民族等,还有可能是业务类型这类的信息,所以数据字典也中一种很好的获取数据源的方式。此外还有一种非常让人喜欢的东西,那就是XML,作为最为常用的数据源类型之一,它和字典一个思想,只是来源不同。
对于上述的三类获取数据源的方式,在系统处理中不可能每列都要作访问,只有在字段有数据时,才会动态的去获取数据源,而且获取完后会将它保存在字段中,下一条记录在使用时直接访问,也就是说一个列表的同一字段只获取一次,这样能有效提高效率。
除了上面的两种,还有一种没有固定数据的数据源,也就是要动态获取的,比如项目金额汇总等,它并非是一个能由数据源来组织起来的,而是需要执行一定规则的SQL来获取信息,此类是第三种方式,动态执行SQL来获取,它并非是绑定,而是直接将数据返回作为显示字段。这种方式对效率来说是最低的,所以尽可能的在SQL列表的数据源SQL中一次性的将有效数据获取。
数据源绑定很妙,但会影响页面执行效率,特别是动态执行SQL。
思路来源于平常的开发,能够让无趣的代码变的有趣,还是挺不错的。
贴下配置数据源的界面: