我这边的项目现状是这样的:
依照用户所在的组织进行了分组,比如用户所在的组织是XX中心-XX部门-XX科室,设定的用户分组是用户所在科室,即A科室、B科室...等等。
某表结构是:
第一列(lx)对应 XX中心
第二列(team)对应 XX部门
第三列(part)对应 XX科室(即用户分组)
第四列(shift)对应 XX班组
第五列以后各列是用户自己输入的内容
对本表做了编辑权限设定,非本科室用户不能编辑、改动、删除对应行信息。
If e.Row("part") <> User.Group Then
e.Cancel = True
End If
在表属性-增加行-DataRowAdding中设定:
e.DataRow("part") = User.group
另又创建了目录树文件(org110.foxtr),分四级节点:XX中心-XX部门-XX科室-XX班组
其中XX科室即用户分组“User.group”,名称完全一致。
在第一列(lx)中利用此目录树文件,接受列分别是前四列。
现在的问题是:
用户在第一列使用目录树过程中常常点错,比如:
1、只点了XX中心,则第一列显示对应的XX中心,第二到第四列就为空;
2、只点到XX部门,第三、第四列就为空;
3、点错所在中心、部门、科室等,即不是用户所在的组织。
以上三种情况,结果是第三列(part)信息与User.group不一致(空或错误科室),用户不能再进行编辑,用户一旦保存,就造成无效信息行。
还有一种情况是,用户对第一列信息(目录树)不进行选择,则第一、二、四列为空,造成信息不全。
现在我想达到的目的是:
用户增加行后,前三列自动录入用户所在组织信息。
这里第三列(part)涉及另一关联表,汇总统计科室录入信息数量等。第四列可让part对应用户自行选择录入,不做限制。
请问各位专家,该怎么做,可以做到吗?谢谢!
一直上传不了截图,只好文字描述了,请见谅。