以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]字典很卡求助 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=145438) |
||||
-- 作者:miaoqingqing -- 发布时间:2020/1/19 17:34:00 -- [求助]字典很卡求助 数据字典很卡,狐表菜单要等很久才能显示。 这样的数据字典在商用实际项目中是否可行? 求助优化,统一后台管理数据字典
|
||||
-- 作者:有点蓝 -- 发布时间:2020/1/19 20:11:00 -- 1、MainTableChanging事件会导致死循环,去掉,如果要打开窗口,到MainTableChanged事件写代码: If MainTable.Name = "列项设置" Then Forms("列项设置").Open() End If 2、这种数据字典的设置不适合放在prepareedit事件,会导致假死,放到AfterSelChange事件 Dim dr As DataRow If e.OldRange.RowSel <> e.NewRange.RowSel OrElse e.OldRange.ColSel <> e.NewRange.ColSel Then Dim c As Col = e.Table.Cols(e.NewRange.ColSel) If c.IsString Then dr=DataTables("列项设置").find("表名=\'" & e.Table.name & "\' and 列名=\'" & c.Name & "\' and 下拉选项 Is not null and 停用=false") If dr IsNot Nothing Then If dr("多值字段")=True Then DataTables(e.Table.name).DataCols(c.name).ExtendType = ExtendTypeEnum.Values ElseIf dr("多值字段")=False Then DataTables(e.Table.name).DataCols(c.name).ExtendType = ExtendTypeEnum.none End If c.AllowDirectType=dr("允许编辑") c.combolist=dr("下拉选项") Else c.combolist="" End If End If End If |
||||
-- 作者:miaoqingqing -- 发布时间:2020/1/20 11:16:00 -- 回复:(有点蓝)1、MainTableChanging事件会导致死循... 群主,窗口控件录入时要根据 允许编辑的值 确定是否允许控件手动录入还是只能下拉选择录入,下面代码怎么修改? 求助 If e.Sender.Gettype.name = "ComboBox" AndAlso e.Sender.BindingField > "" Then Dim ary() As String = e.Sender.BindingField.Split(".") Dim filter As String = "表名 = \'" & ary(0) & "\' and 列名 = \'" & ary(1) & "\' and 停用 = false" Dim fdr As DataRow = DataTables("列项设置").Find(filter) \'If fdr IsNot Nothing Then If fdr IsNot Nothing And fdr("允许编辑") = True Then \'e.sender.AllowDirectType= True e.sender.ReadOnly= True e.sender.ComboList = fdr("下拉选项") End If If fdr IsNot Nothing And fdr("允许编辑") = False Then e.sender.ReadOnly= False \'e.sender.AllowDirectType= False e.sender.ComboList = fdr("下拉选项") End If End If
|
||||
-- 作者:有点蓝 -- 发布时间:2020/1/20 11:44:00 -- 代码放到enter事件 e.sender.ReadOnly= BooleanEnum.True :http://www.foxtable.com/webhelp/topics/0749.htm |
||||
-- 作者:miaoqingqing -- 发布时间:2020/1/20 12:17:00 -- 群主还有问题,第四列不允许编辑了,要能下拉选择,求助 |
||||
-- 作者:有点蓝 -- 发布时间:2020/1/20 13:46:00 -- Dim fdr As DataRow = DataTables("列项设置").Find(filter) \'If fdr IsNot Nothing Then If fdr IsNot Nothing If fdr("允许编辑") = True Then \'e.sender.AllowDirectType= True e.sender.ReadOnly = BooleanEnum.False e.sender.ComboList = fdr("下拉选项") Else e.sender.ReadOnly = BooleanEnum.True \'e.sender.AllowDirectType= False \'e.sender.ComboList = fdr("下拉选项") End If End If
|
||||
-- 作者:miaoqingqing -- 发布时间:2020/1/20 14:25:00 -- 回复:(有点蓝) Dim fdr As DataRow =...
|
||||
-- 作者:miaoqingqing -- 发布时间:2020/1/20 14:28:00 -- 群主,不能编辑的时候,还是不能下拉,辛苦再看看了 [此贴子已经被作者于2020/1/20 14:47:24编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2020/1/20 14:52:00 -- 不能编辑,当然也就不能下拉 If e.Sender.Gettype.name = "ComboBox" AndAlso e.Sender.BindingField > "" Then Dim ary() As String = e.Sender.BindingField.Split(".") Dim filter As String = "表名 = \'" & ary(0) & "\' and 列名 = \'" & ary(1) & "\' and 停用 = false" Dim fdr As DataRow = DataTables("列项设置").Find(filter) If fdr IsNot Nothing e.sender.ComboList = fdr("下拉选项") e.Sender.AllowEditValue = fdr("允许编辑") End If End If |
||||
-- 作者:miaoqingqing -- 发布时间:2020/1/20 15:34:00 -- 群主,表里可以了,但是在窗口里筛选失效,辛苦有空了再看看了 [此贴子已经被作者于2020/1/20 18:12:56编辑过]
|