以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  激活下拉窗口写在AfterOpenProject事件里,只有部分下拉窗口被激活  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113286)

--  作者:google78
--  发布时间:2018/1/12 15:13:00
--  激活下拉窗口写在AfterOpenProject事件里,只有部分下拉窗口被激活
一共给四个列激活了下拉窗口,打开项目后,有两个总是不激活,但是开发者进入项目事件里保存一下AfterOpenProject的事件,立马就激活了!

Tables("证书信息主表").Cols("证书名称").DropForm = "证书名称选择"   \'这两个不激活
Tables("证书信息主表").Cols("证书部门").DropForm = "部门选择"       \'这两个不激活    
Tables("工程证件使用情况明细表").Cols("证书编号").DropForm = "证书编号选择"
Tables("工程信息表.工程证件使用情况明细表").Cols("证书编号").DropForm = "证书编号选择"
Dim jzsbz As DataTable = DataTables("证书信息主表")
If Relations.Contains("jzsljbz") = False Then \'如果还没有创建关联
    Relations.Add("jzsljbz",jzsbz.DataCols("身份证号"),jzsbz.DataCols("身份证号A"),RelationPathEnum.None)
End If
jzsbz.DataCols("B证").Expression = "iif(证书类型=\'建造师\',iif(count(Child(jzsljbz).身份证号A)>0,\'有\',\'无\'),\'\')"
If User.Type <> UserTypeEnum.Developer
    TableCaptionVisible = False
End If

--  作者:google78
--  发布时间:2018/1/12 15:31:00
--  
晕死,我把这两句写进CurrentTableChanged事件里就可以了,但是这样效率有点低吧!
Tables("证书信息主表").Cols("证书名称").DropForm = "证书名称选择" 
Tables("证书信息主表").Cols("证书部门").DropForm = "部门选择" 

--  作者:有点甜
--  发布时间:2018/1/12 15:31:00
--  

1、你有没有锁定列?比如prepareEdit、startEdit等事件,写有 e.cancel = true 的代码?

 

2、你项目那里,是否有权限控制?比如设置了某列.allowEdit = false ?