Foxtable(狐表)用户栏目专家坐堂 → DataMap可以实现多列值填充吗?


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

主题:DataMap可以实现多列值填充吗?

帅哥,在线噢!
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
DataMap可以实现多列值填充吗?  发帖心情 Post By:2018/11/8 10:59:00 [只看该作者]

如题,DataMap可以生成一个下拉,比如有"客户ID,客户名称,公司等列

If MainTable.Name = "订单" Then
    Dim
dmp As New TableDataMap
   
dmp.DataTable = "客户" '指定数据来源表
   
dmp.ValueCol = "客户ID" '指定取值列

    dmp.DisplayCol = "客户名称" '指定显示列

    '指定下拉列表时显示哪些列的数据
   
dmp.ListCols = "客户ID,客户名称,公司"

    dmp.Sort = "ID" '指定排序方式
    Tables(
"订单").Cols("客户ID").DataMap = dmp.CreateDataMap() '生成并设置DataMap
End If


这种情况只能得到一列的值,  如果订单中还有客户名称,公司等与显示列中相同的列时能否实现一次性填充其他相同的列呢?(我是指不用在其他事件中写代码)


谢谢!


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


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

不可以,必须编写代码才可以。或者是用下拉窗口解决

 

http://www.foxtable.com/webhelp/scr/2465.htm

 


 回到顶部
帅哥,在线噢!
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/11/8 11:46:00 [只看该作者]

发现一个奇怪的问题,如果在cellbottonClick中设置了代码发下:
Se lect Case e.Col.name
    Case "部门编码"
        MyTable = e.Table.Name
        Dcol = e.Col.name
        e.Cancel = True '取消默认动作
        Forms("部门单选").Open()
End Se lect

在窗口的afterLoad中用下面的代码生成datamap
'查询后通过临时表生成数据字典
Dim q As new QueryBuilder
q.TableName = "部门查询"
q.ConnectionName = Mydata
q.Se lectString = "SE LECT 部门编码,部门名称,负责人 From {dept}"
q.Build

Dim dmp As New TableDataMap
dmp.DataTable = "部门查询"  '指定数据来源表
dmp.ValueCol = "部门编码" '指定取值列
dmp.DisplayCol = "部门名称" '指定显示列
'指定下拉列表时显示哪些列的数据
dmp.ListCols = "部门编码,部门名称,负责人"
dmp.Sort = "部门编码" '指定排序方式
Tables(e.Form.name & "_主表").Cols("部门编码").DataMap = dmp.CreateDataMap() '生成并设置DataMap

经过上述设置后,录入时会弹出cellbottonColik中的"部门单选"窗口,而datamap的下拉窗口就不生效了,但是其同列显示不同值的功能却可以了.
这是巧合,还是一直都可以这样用,即用cellbottonClick的弹出窗口录入数据,让datamap显示不同值.





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


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

没看懂你的问题。如果设置了TableDataMap,那肯定是可以显示值、实际值不一样的。任何时候你想不一样,直接设置TableDataMap都可以的。

 回到顶部
帅哥,在线噢!
HappyFt
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/11/8 14:07:00 [只看该作者]

意思就是同一列如果在cellbottonClick中设置了代码,又同时设置datamap则此列datamap的下拉就不会出现,但是显示值与实际值不一样这个功能却有效

这样就可以用cellbottonClick弹出的窗口设计复杂的录入界面,而用datamp显示不同值.我前几天问的那个问题就可以解决了,只是稍微麻烦了点.

明白了,谢谢!



 回到顶部