Foxtable(狐表)用户栏目专家坐堂 → 代码拼装的多列数据字典不显示


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

主题:代码拼装的多列数据字典不显示

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


加好友 发短信
等级:婴狐 帖子:47 积分:373 威望:0 精华:0 注册:2014/11/19 17:23:00
代码拼装的多列数据字典不显示  发帖心情 Post By:2014/12/2 19:43:00 [只看该作者]

我在表事件(ChangeEdit)中写了如下代码:
If e.Col.Name = "khno"Then
     Dim dr As Row = e.Row
     Dim cmd As New SQLCommand
     Dim dt As DataTable
     'cmd.C 不写的话默认是内部数据源
     cmd.CommandText = "SELECT personno,name,sex,telephone,gw From {person} Where [companyno] = '" & dr("khno") &"'"
     dt = cmd.ExecuteReader()
     
     Dim mdm As New MultiDataMap 
     For Each dr1 As DataRow In dt.DataRows
        mdm.add(dr1("personno")&"|"&dr1("name")&"|"&dr1("sex")&"|"&dr1("telephone")&"|"&dr1("gw"))
     Next
    mdm.ValueCol = 0
    mdm.DisplayCol = 1
    Tables("order").Cols("linkman").DataMap = mdm.CreateDataMap()

End If

我的for循环中能取到我的查询出来的数据,但是为啥在表中显示不出这个多列数据字典呢?
如果我第一次时(第一行数据)触发这个事件生成了字典,那么我在第二次时(第一行数据)触发这个事件生成了字典这两次之间会不会有影响呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/2 19:52:00 [只看该作者]

  我测试没有问题。

 

Dim dmp As New MultiDataMap
dmp.Add("1|居住中")
dmp.Add("2|已离开")
dmp.ValueCol = 0
dmp.DisplayCol = 1
Tables("表A").Cols("第二列").DataMap = dmp.CreateDataMap


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/2 19:52:00 [只看该作者]

 空白,是因为,你动态生成了字典,字典改变以后,不在字典里面的值,就会显示空白的。

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


加好友 发短信
等级:婴狐 帖子:47 积分:373 威望:0 精华:0 注册:2014/11/19 17:23:00
  发帖心情 Post By:2014/12/2 21:54:00 [只看该作者]

我又测试了一下,用表结构的话是可以的。可是我是写在窗口的一个table中就没这个效果,不知道为啥

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/2 21:56:00 [只看该作者]

 具体例子放上来。

 

 


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


加好友 发短信
等级:婴狐 帖子:47 积分:373 威望:0 精华:0 注册:2014/11/19 17:23:00
  发帖心情 Post By:2014/12/2 21:56:00 [只看该作者]

如果是在窗口中的Table的话连下拉的效果都没有,可如果在表结构下就有这个效果

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/2 21:57:00 [只看该作者]

 是不是你写错了表名啊,窗口表要这样表示 Tables("窗口1_Table1")

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


加好友 发短信
等级:婴狐 帖子:47 积分:373 威望:0 精华:0 注册:2014/11/19 17:23:00
  发帖心情 Post By:2014/12/2 22:08:00 [只看该作者]

在项目属性的事件中关掉第三句代码,订单管理表结构能看到效果。打开第三句代码在窗口中就没有效果。生成多列字典的代码在表属性的ChangeEdit事件中
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:factoryproject.table


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


加好友 发短信
等级:婴狐 帖子:47 积分:373 威望:0 精华:0 注册:2014/11/19 17:23:00
  发帖心情 Post By:2014/12/2 22:10:00 [只看该作者]

这个生成多列字典的方式好像是对一列都起作用啊,有没有其它的比较好的方式。上一行的筛选条件和下一行的不一样啊。这样会有影响的啊

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/2 22:14:00 [只看该作者]

 什么意思啊,没有问题啊,不执行这句代码? 'visibleTables("order","订单管理",False) '隐藏所有表,这个方法写在全局代码中

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