Foxtable(狐表)用户栏目专家坐堂 → [求助]datamap


  共有9434人关注过本帖树形打印复制链接

主题:[求助]datamap

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]datamap  发帖心情 Post By:2012/11/15 11:23:00 [只看该作者]

这样的要求用datamap能做吗?

当前表中当WPCKind值不同时,sourceID列从同一个表中选择数据,只是过滤条件不同。

文件上传有误 ,请看下帖


[此贴子已经被作者于2012-11-15 13:54:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2012/11/15 11:42:00 [只看该作者]

不好意思,附件里的说明错误。
说明里的表S就是表Source

或者有类似datamap的方法也可以。Combolist的方法我已经知道了。

重新上传
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:sotkey.rar

[此贴子已经被作者于2012-11-15 14:29:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2012/11/15 15:29:00 [只看该作者]

啊,这个问题 很复杂么?

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/15 15:36:00 [只看该作者]

 不复杂,只是看不懂。

 要求当WPCKind=3时,SourceID从“S”表中的T1=3的数据中选择

 T1=3 什么意思?

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/15 16:13:00 [只看该作者]

 呃,T1 = 1 ,又是什么意思?

 那就做多个DaTaMap,保存成全局变量,修改了source的时候,重新生成不同的DataMap,就不需要每点一次生成一次了。

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2012/11/15 16:36:00 [只看该作者]

没有datamap类型的变量啊,咋个存法?
MultiDataMap?
[此贴子已经被作者于2012-11-15 16:39:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/15 16:47:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2198 积分:18064 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By: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的下拉列表值是一样的。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:sotkey20121116.rar

怎么改进呢?


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/16 12:13:00 [只看该作者]

 代码在三个地方,你看看就知道了。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:cs.table



 回到顶部
总数 13 1 2 下一页