以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于列表项目  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=53683)

--  作者:hqy168168
--  发布时间:2014/7/13 14:38:00
--  关于列表项目
有两个表,“归类表”的“所属分区”列由“分区表”的“大区名称”列生成的列表项目,想实现以下目的,怎么做:
“归类表”的”省市名称“列根据“所属分区”选定的内容选择生成列表项目:
例如:
所属分区选择了“华中区”,则“省市名称”生成由 湖北省、湖南省构成的列表选项
           选择了“西南区”,则“省市名称”生成由 重庆市、四川省构成的列
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

表选项

--  作者:有点甜
--  发布时间:2014/7/13 14:40:00
--  

 参考

 

http://www.foxtable.com/help/topics/1459.htm

 


--  作者:有点甜
--  发布时间:2014/7/13 14:43:00
--  

 你的表,不符合规范吧?你的分区表应该是这样的

 

华中区 湖北省 鄂
西南区 湖南省 湘

华中区 重庆市 渝
西南区 四川省 川


--  作者:hqy168168
--  发布时间:2014/7/13 16:11:00
--  
分区表就是这样的结构,大区名称就是一个单独列,需要这样的
--  作者:有点甜
--  发布时间:2014/7/13 16:14:00
--  
 那你这样的数据就不规范,怎么看?你这个表?重庆市又属于华中又属于西南?
--  作者:hqy168168
--  发布时间:2014/7/13 16:21:00
--  
是这样,大区名称列只是为了另外的用途。不需要看它与华中区、华南区列的关系。 需要达到的效果是 :“归类表”的“省市名称”列表项目是根据“所属分区”列单元格的内容来实现的。
--  作者:有点甜
--  发布时间:2014/7/13 16:25:00
--  

 代码

 

If e.Col.Name = "所属分区" Then
    Tables("归类表").Cols("所属分区").ComboList = DataTables("分区表").GetComboListString("大区名称","","_identify")
Else If e.Col.Name = "省市名称" Then
    Tables("归类表").Cols("省市名称").ComboList = DataTables("分区表").GetComboListString(e.Row("所属分区") & "_省市","","_identify")
End If


--  作者:hqy168168
--  发布时间:2014/7/13 16:33:00
--  
代码放在PrepareEdit中报错。
--  作者:有点甜
--  发布时间:2014/7/13 16:34:00
--  
If e.Col.Name = "所属分区" Then
    Tables("归类表").Cols("所属分区").ComboList = DataTables("分区表").GetComboListString("大区名称","","_identify")
Else If e.Col.Name = "省市名称" AndAlso e.Row.IsNull("所属分区") = False Then
    Tables("归类表").Cols("省市名称").ComboList = DataTables("分区表").GetComboListString(e.Row("所属分区") & "_省市","","_identify")
End If

--  作者:hqy168168
--  发布时间:2014/7/13 16:43:00
--  
谢谢了,我把它加工了一下,改成:

If e.Col.Name = "所属分区" Then
    Tables("归类表").Cols("所属分区").ComboList = DataTables("分区表").GetComboListString("大区名称","","_identify")
Else If e.Col.Name = "省市名称" Then
    If e.Row.IsNull("所属分区") = True Then
        e.Cancel = True
    Else
        Tables("归类表").Cols("省市名称").ComboList = DataTables("分区表").GetComboListString(e.Row("所属分区") & "_省市","","_identify")
    End If
End If