以文本方式查看主题 - 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=127199) |
-- 作者:happyft -- 发布时间:2018/11/8 10:59:00 -- DataMap可以实现多列值填充吗? 如题,DataMap可以生成一个下拉,比如有"客户ID,客户名称,公司等列 If
MainTable.Name = "订单" Then dmp.DisplayCol = "客户名称" \'指定显示列 \'指定下拉列表时显示哪些列的数据 dmp.Sort = "ID"
\'指定排序方式 这种情况只能得到一列的值, 如果订单中还有客户名称,公司等与显示列中相同的列时能否实现一次性填充其他相同的列呢?(我是指不用在其他事件中写代码) 谢谢! |
-- 作者:有点甜 -- 发布时间:2018/11/8 11:32:00 -- 不可以,必须编写代码才可以。或者是用下拉窗口解决
http://www.foxtable.com/webhelp/scr/2465.htm
|
-- 作者:HappyFt -- 发布时间: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显示不同值. |
-- 作者:有点甜 -- 发布时间:2018/11/8 11:55:00 -- 没看懂你的问题。如果设置了TableDataMap,那肯定是可以显示值、实际值不一样的。任何时候你想不一样,直接设置TableDataMap都可以的。 |
-- 作者:HappyFt -- 发布时间:2018/11/8 14:07:00 -- 意思就是同一列如果在cellbottonClick中设置了代码,又同时设置datamap则此列datamap的下拉就不会出现,但是显示值与实际值不一样这个功能却有效 这样就可以用cellbottonClick弹出的窗口设计复杂的录入界面,而用datamp显示不同值.我前几天问的那个问题就可以解决了,只是稍微麻烦了点. 明白了,谢谢! |