以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=195749) |
-- 作者:timber83 -- 发布时间:2025/3/6 12:47:00 -- 求助 有2张表, 表1 ,检查内容表 内容, 检查类型, 日常性组织级别, 综合性组织级别,, 专项性组织级别, 依法设置 日常性,综合性 班组级,岗位级 单位级,车间级 专项管理机构级 表2,检查类型表 类型 组织级别 日常性 班组级 日常性 岗位级 综合性 单位级 综合性 车间级 专项性 专项管理机构级 专项性 车间级 规则, 表1检查类型通过SQLGetComboListString设置下拉选型( 日常性|综合性|专项性),这里支持多选的, 日常性组织组织级别,综合性组织级别,专项性组织级别需要在检查类型包括对应的类型,可以通过下拉选项选择;没有被选中,为空值,切不能选择。 举例说明 如果检查类型仅是日常性 :日常性组织级别,有下拉选项,班组级|岗位级,综合性组织级别,专项性组织级别无下拉选项,之前数据变成空值, 如果检查类型是日常性,综合性 :日常性组织级别,有下拉选项,班组级|岗位级;综合性组织级别,有下拉选项,单位级|车间级;专项性组织级别无下拉选项,之前数据变成空值 这种该如何写代码? |
-- 作者:有点蓝 -- 发布时间:2025/3/6 13:40:00 -- 参考:http://www.foxtable.com/webhelp/topics/1457.htm 检查内容表prepareedit事件 If e.IsFocusCell andalso e.row.isnull("检查类型")=false Then \'如果是焦点所在单元格 If e.Col.Name = "日常性组织级别" orelse e.Col.Name = "综合性组织级别" orelse e.Col.Name = "专项性组织级别" Then dim ss as string = e.row("检查类型") dim n as string = e.Col.Name.replace("组织级别","") if ss.contains(n) e.Col.Combolist = DataTables("检查类型表").GetComboListString("组织级别", "[类型] = \'" & n & "\'") else e.Col.Combolist =nothing end if End If End If 检查内容表datacolchanged事件 if e.datacol.name = "检查类型" if e.newvalue > "" then for each s as string in {"日常性","综合性",""专项性} if e.newvalue.contains(s) =false then e.datarow(s & "组织级别")=nothing end if else e.datarow("日常性组织级别")=nothinge.datarow("综合性组织级别")=nothing e.datarow("专项性组织级别")=nothingend if end if |