以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]datamap (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25717) |
||||
-- 作者:chnfo -- 发布时间:2012/11/15 11:23:00 -- [求助]datamap 这样的要求用datamap能做吗? 当前表中当WPCKind值不同时,sourceID列从同一个表中选择数据,只是过滤条件不同。 文件上传有误 ,请看下帖
[此贴子已经被作者于2012-11-15 13:54:07编辑过]
|
||||
-- 作者:chnfo -- 发布时间:2012/11/15 11:42:00 -- 不好意思,附件里的说明错误。 说明里的表S就是表Source 或者有类似datamap的方法也可以。Combolist的方法我已经知道了。 重新上传
[此贴子已经被作者于2012-11-15 14:29:23编辑过]
|
||||
-- 作者:chnfo -- 发布时间:2012/11/15 15:29:00 -- 啊,这个问题 很复杂么? |
||||
-- 作者:lin_hailun -- 发布时间:2012/11/15 15:36:00 -- 不复杂,只是看不懂。 要求当WPCKind=3时,SourceID从“S”表中的T1=3的数据中选择 T1=3 什么意思? |
||||
-- 作者:chnfo -- 发布时间:2012/11/15 15:51:00 -- 最开始复制的时候写错了,应当是 要求当WPCKind=1时,SourceID从“Source”表中的T1=1的数据中选择 要求当WPCKind=2时,SourceID从“
Source ”表中的T2=1的数据中选择 要求当WPCKind=3时,SourceID从“
Source ”表中的T3=1的数据中选择 因为T1,T2,T3都是逻辑列,=1表示为“是” 如果把datamap放在prepareedit事件中,电脑CPU就消耗非常大。显然是不太合适的
[此贴子已经被作者于2012-11-15 16:08:27编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2012/11/15 16:13:00 -- 呃,T1 = 1 ,又是什么意思? 那就做多个DaTaMap,保存成全局变量,修改了source的时候,重新生成不同的DataMap,就不需要每点一次生成一次了。 |
||||
-- 作者:chnfo -- 发布时间:2012/11/15 16:36:00 -- 没有datamap类型的变量啊,咋个存法? MultiDataMap?
[此贴子已经被作者于2012-11-15 16:39:08编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2012/11/15 16:47:00 -- 可以看看。 http://www.foxtable.com/help/topics/2653.htm |
||||
-- 作者:chnfo -- 发布时间:2012/11/16 11:00:00 -- 帮助里的那一段我看明白了。 其实,如果用combolist是没有问题的,我试过了 If e.IsFocusCell Then If e.Col.Name = "SourceID" Then Select Case e.Row("WPCKind") Case 1 e.Col.Combolist = DataTables("Source").GetComboListString("T", "T1 = 1") Case 2 e.Col.Combolist = DataTables("Source").GetComboListString("T", "T2 = 1") Case 3 e.Col.Combolist = DataTables("Source").GetComboListString("T", "T3 = 1") End Select End If End If 但是combolist只有一列,显示的信息太少,所以才想用datamap. 而datamap的方法我也理解。 做了一下,现在的问题是每换一个link节点,必须去Source表上点一下,SourceID这一列的下拉列表才符合要求。如果不去Source上切换一下,不管切换哪个link节点,SourceID的下拉列表值是一样的。
怎么改进呢? |
||||
-- 作者:lin_hailun -- 发布时间:2012/11/16 12:13:00 -- 代码在三个地方,你看看就知道了。
|