以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:动态列表项目在表中录入时选择的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=2796)

--  作者:yangming
--  发布时间:2009/5/15 14:17:00
--  一些小建议

我按帮助中的"动态列表项目之一",做了一个列表项目表,由于是一行是一个列表项目,所以在窗口中可以正常录入列表项目,但是在表中就无法使用了,表中如果在列属性设置数据表及取值列,就算是加了过滤条件,所显示的是一行的数据,比如,政治面貌中,就会出现"中共党员共青团员民主党派无党派",而无法选择,请教如何处理才能做到窗口和表中输入都可以呢?

 

 


--  作者:狐狸爸爸
--  发布时间:2009/5/15 15:12:00
--  

没有文件,我看不懂的

图片点击可在新窗口打开查看


--  作者:易狐
--  发布时间:2009/5/15 15:42:00
--  
列表项目数据源没有"|"?

--  作者:狐狸爸爸
--  发布时间:2009/5/15 15:55:00
--  
呵呵,是因为杨版没有设置代码,直接在列属型中设置了列表项目来源。
--  作者:yangming
--  发布时间:2009/5/15 16:26:00
--  

代码我放在项目事件CurrentTableChanged中的,不知道为何没有对表起作用?

另外,我在窗口中插入的关联表,列表项目 也没有用,直接插入的独立的表就有,请看下面二表中的学历列


图片点击可在新窗口打开查看此主题相关图片如下:119.jpg
图片点击可在新窗口打开查看

这是关联表


图片点击可在新窗口打开查看此主题相关图片如下:120.jpg
图片点击可在新窗口打开查看

这是独立表
[此贴子已经被作者于2009-5-15 16:30:43编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/5/15 16:37:00
--  
原来的:
Dim dr As Datarow
dr = DataTables("lbxm").Find("[表] = \'" & e.Table.Name & "\' And [列] = \'" & e.Col.Name & "\'")
If dr IsNot Nothing \'一定要判断是否存在对应的行
    e.Col.ComboList = dr("列表项目")
End If

要对关联表一起有效:

Dim dr As Datarow
dr = DataTables("lbxm").Find("[表] = \'" & e.Table.DataTable.Name & "\' And [列] = \'" & e.Col.Name & "\'")
If dr IsNot Nothing \'一定要判断是否存在对应的行
    e.Col.ComboList = dr("列表项目")
End If

--  作者:yangming
--  发布时间:2009/5/15 18:07:00
--  

关联表的还是无用
我的窗口是在表一中,而不是在员工档案表中的,而我现在的代码是放在员工档案表中的,会不是会和此有关?


--  作者:yangming
--  发布时间:2009/5/16 10:17:00
--  
我找到解决的办法了,不光是要加代码,还需要在列表项目表中的"表"列加上关联表名及列名等,比如,我的关联表中家庭成员,而我插入在员工档案窗口的关联表名是"员工档案.家庭成员",所以列表项目中还需要加上这样的表名
--  作者:狐狸爸爸
--  发布时间:2009/5/18 8:04:00
--  
不应该这样的,我原来的代码应该有效:

Dim dr As Datarow
dr = DataTables("lbxm").Find("[表] = \'" & e.Table.DataTable.Name & "\' And [列] = \'" & e.Col.Name & "\'")
If dr IsNot Nothing \'一定要判断是否存在对应的行
    e.Col.ComboList = dr("列表项目")
End If

--  作者:yangming
--  发布时间:2009/5/18 9:10:00
--  
但是事实就是我在列表项目表中加上了关联表名"员工档案.家庭成员",才有用啊,呵呵
[此贴子已经被作者于2009-5-18 9:10:27编辑过]