以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如果在列表中看不到表里已有的项目 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=183055) |
|
-- 作者:zhangchi96 -- 发布时间:2022/10/23 15:29:00 -- 如果在列表中看不到表里已有的项目 我在一个表【表a】的click事件中: 1、 通过另外一个表dt,得到一个列表 Dim 原有列表 As List(Of String) = Dt.GetUniqueValues("","姓名") ,假设这里的姓名有:张三|张三丰|李四|李四德|赵武|赵武王|王六|王六小 2、【表a】已有记录如下 序号 姓名 性别 备注 1 张三 2 李四 3 赵武 4 ?? 这里本来可以表示为 e.Col.Combolist = 原有列表 3、希望在第4条记录录入时,点击姓名,得到一个下拉菜单,这个菜单,不包含已有的姓名:1、张三 2、李四 3、赵武,只有 :张三丰|李四德|赵武王|王六|王六小 如何求得 e.Col.Combolist = ? 请老师指导 [此贴子已经被作者于2022/10/23 15:38:54编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2022/10/23 20:56:00 -- Dim 原有列表 As List(Of String) = Dt.GetValues("姓名","姓名 not in(\'" & datatables("表a").GetComboListString("姓名").replace("|","\',\'") & "\')") |
|
-- 作者:zhangchi96 -- 发布时间:2022/10/24 9:31:00 -- 我最终的写法,贴一下 If e.Ta_ble.Name = "选项列表" Then If For_ms("学期设置窗体").Op_ened() If e.Col.Name = "项目3类_年度" Then \'如果正在编辑的是县市列 e.Col.Co_mbo_list = Dat_aTa_bles("选项列表").Ge_tCo_mboLi_stS_tring("项目3类_年度", " 项目2类 = \'年度\'" , "分类编号" ) ElseIf e.Col.Name = "项目4类_学期" Then e.Col.Co_mbol_ist = "春学期|秋学期" End If ElseIf Fo_rms("学校名称设置窗体").Opened() \'判断窗口是否打开 If e.Col.Name = "项目5类_校名" Then Dim cm_d As New S_QLCo_mm_and c_md.C c_md.Co_mman_dText = "Sel_ect * Fr_om {选项列表} Where 项目2类 = \'学校名称\' and ( 项目3类_年度 <> "& Vars("年度") &" Or 项目4类_学期 <> \'"& Vars("学期") &"\' ) " Dim dt As Dat_aTa_ble = c_md.Ex_ecu_teR_eader() \'先生成一个表 Dim 原有列表 As List(Of String) = Dt.Ge_tUniqu_eVal_ues(" 项目5类_校名 not in(\'" & Dat_aTab_les("选项列表").Ge_tCo_mbo_ListS_tring("项目5类_校名").repl_ace("|","\',\'") & "\') ","项目5类_校名") Dim 新列表 As String = " " For k As Integer = 0 To 原有列表.Count - 1 If 新列表.Co_ntai_ns("|" & 原有列表(k)) = True Then \'如果包含 Else 新列表 = 新列表 & "|" & 原有列表(k) End If Next e.Col.Co_mbo_list = 新列表 End If End If End If |
|
-- 作者:zhangchi96 -- 发布时间:2022/10/28 16:44:00 -- 蓝老师: 上次你帮我写的这个很有用,
|
|
-- 作者:有点蓝 -- 发布时间:2022/10/28 16:48:00 -- Dim 原有列表 As List(Of String) = Dt.GetValues("序号","序号 not in(" & datatables("表a").GetComboListString("姓名").replace("|",",") & ")") 去掉单引号即可 字符: 第一列 not in (\'1\',\'2\',\'3\') 数值: 第一列 not in (1,2,3)
|