以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- listbox我想组合显示,但是table里面的数据是datmap (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145967) |
-- 作者:a937775799 -- 发布时间:2020/2/13 1:35:00 -- listbox我想组合显示,但是table里面的数据是datmap 我看帮助对listbox事件设置 首先初始化 Dim lb As WinForm.ListBox = e.Form.Controls("lb") lb.DisplayMember = "employeeState" \'设置显示列 lb.ValueMember = "employeeState" \'设置取值列 lb.DataSource = "employeeLog" \'列表项目来自于客户表 lb.DataFilter = "employeeSFId = \'" & dr("employeeSFId") & "\' and agreementCode = \'" & dr("agreementCode") & "\'" 然后事件 e.Value = e.ListItem( "employeeState" ) & "|" & e.ListItem( "employeeStateTime" ) 但是有个问题 我employeeLog表里面employeeState列是这样设置的 mdm.ValueCol = 0 mdm.DisplayCol = 1 Tables( e.Form.TableName ).Cols("employeeState").DataMap = mdm.CreateDataMap() 这样我listbox里面显示 还是之前的mdm.ValueCol的数据,而我要显示mdm.DisplayCol的数据
|
-- 作者:有点蓝 -- 发布时间:2020/2/13 10:21:00 -- 字典完整代码给出来看看,如果使用的是MultiDataMap没有办法,如果使用的是DataMap,可以这样 mdm.ValueCol = 0 mdm.DisplayCol = 1 vars("map") = mdm Tables( e.Form.TableName ).Cols("employeeState").DataMap = mdm.CreateDataMap() …… e.Value = vars("map")(e.ListItem( "employeeState")) & "|" & e.ListItem( "employeeStateTime" ) |
-- 作者:a937775799 -- 发布时间:2020/2/13 10:29:00 -- 打开窗口后初始化 \'\'\'设置工作流代码[flowCode] = \'pro_p\' drs = DataTables("flow").Select("flowCode = \'pro_p\' ", "flowPx" ) Tables( e.Form.TableName ).Cols("employeeState").DataMap = Functions.Execute("下拉列表取值显示完善",drs, "flowPx","flowMain" ) ------------------------------------------------------------------- 下拉列表取值显示完善函数 Dim drs As List(of DataRow ) = args(0) Dim mdm As New MultiDataMap For Each dr As DataRow In drs mdm.add( dr(args(1)) & "|" & dr(args(2)) ) Next mdm.ValueCol = 0 mdm.DisplayCol = 1 Return mdm.CreateDataMap() 可以怎么改改吗 |
-- 作者:有点蓝 -- 发布时间:2020/2/13 10:34:00 -- 改为这个字典:http://www.foxtable.com/webhelp/topics/0580.htm |
-- 作者:a937775799 -- 发布时间:2020/2/13 11:07:00 -- Dim drs As List(of DataRow ) = args(0) Dim mdm As New DataMap For Each dr As DataRow In drs mdm.add( "" & dr(args(1)) , dr(args(2)) ) Next Return mdm 这样就可以了 ,但是我发现个问题找了半天 mdm.add( dr(args(1)) , dr(args(2)) ) ,如果dr(args(1)) 是数字 就不能正常显示, 所以我改成了 mdm.add("" & dr(args(1)) , dr(args(2)) )
|
-- 作者:有点蓝 -- 发布时间:2020/2/13 11:26:00 -- 这个原因帮助里有说明的 |