以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码如何设置列表项目和显示数值列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59153)

--  作者:ShotHit
--  发布时间:2014/10/30 9:03:00
--  代码如何设置列表项目和显示数值列
Hi 版主:

问题 1:
With Tables("Tb_CusInfo") 
 .Cols("sales_area").ComboList=DataTables("Tb_UserInfo").GetComboListString("user_area") .Cols("sales_user").ComboList=DataTables("Tb_UserInfo").GetComboListString("user_id","[user_area]=\'&[user_area]&\'") 
End With

其中sales_user这列的设置成  根据user_area的值得到对应的user_id,类似于省份 城市这种.
这个代码如何写?

问题 2:
其中sales_user这列代码如何设置成取值列为 user_id,显示列为表Tb_UserInfo的user_name?

问题 3:
对于此类代码是放在项目AfterOpenProject中设置好,还是表的AfterTableLoadSeting中设置比较好?

初学者,望解答。谢谢。

--  作者:Bin
--  发布时间:2014/10/30 9:07:00
--  
http://www.foxtable.com/help/topics/2653.htm
--  作者:ShotHit
--  发布时间:2014/10/30 9:33:00
--  
感谢。

表Tb_CusInfo中PrepareEdit事件设置:
If e.IsFocusCell Then
    If e.Col.Name = "sales_user" Then 
        e.Col.Combolist = DataTables("Tb_UserInfo").GetComboListString("user_id", "[user_area] = \'" & e.Row("sales_area") & "\'") 
    End If
End If

同时在MainTableChanged事件中设置:
If MainTable.Name="Tb_CusInfo" Then
   Dim dmp As New TableDataMap
   dmp.DataTable="Tb_UserInfo"                                 //这个地方能否动态设置?
   dmp.ValueCol="user_id"
   dmp.DisplayCol="user_name"
   dmp.ListCols="user_area,user_name"
   dmp.Sort="user_area"
   Tables("Tb_CusInfo").Cols("sales_user").DataMap=dmp.CreateDataMap()
End If

这样的会,后面的数据字典设置就无效。
请问,如何让两个同时有效果?