常规功能和模块自定义系统 (cfcmms)—021自定义grid列(5附件列)
模块列表Grid是由多个列组成的,在实际的系统构建过程中需要有一些自定义的类来完成一些特殊的功能。现在来看看一个模块有了附件之后加入的附件列。如下图所示,在模块设置中设置了模块具有附件之后,就会在Grid方案的最前面加上一个附件列,显示的数字表示这条记录当前的附件个数。鼠标移动上去,可以显示这条记录的所有附件名称和附件文件的名称,单击可以进入附件浏览和管理的界面。
首先了解一下本系统中的附件是如何管理的。系统中的所有模块的附件是集中统一管理,所有的数据都放在表_Attachment中,在这个表里tf_moduleId对应模块的id号,tf_moduleIdvalue对应于该模块的记录id号。(本系统要求每个表都有唯一的单主键id)
在组织数据的时候,由于是sql语句是自己组织的,因此对于有附件的模块会先加入附件个数的查询。例如对于系统中的“省份”模块,在查询所有数据的时候会生成下面的sql语句。
select
( select
count(*)
from
_Attachment
where
tf_moduleId = '7010'
and tf_moduleIdValue = _t7010.tf_pro