以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]datamap事件放在哪里合适  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=58795)

--  作者:chnfo
--  发布时间:2014/10/23 22:28:00
--  [求助]datamap事件放在哪里合适
表A是maintable,有ABCDE五列,其中D列的数据来源是表B,但它的过滤条件是随C列的值变化而变化的。
If MainTable.Name = "表A" Then
    Dim
dmp As New TableDataMap
   
dmp.DataTable = "表B" \'指定数据来源表
   
dmp.ValueCol = "ID" \'指定取值列
   
dmp.DisplayCol = "Code" \'指定显示列
    dmp.ListCols = "code,title,address,mobile,phone,email"
   
dmp.Sort = "code" \'指定排序方式
    dmp.filter = "Class = \'" & e.row("C") & "\'" 
    Tables(
"表A").Cols("D").DataMap = dmp.CreateDataMap() \'生成并设置DataMap
End If

现在要用一个datamap来实现动态列表,因为这个表态列表的值取决于表C列的值的变化,所以不能将这个事件放在项目事件的maintablechanging中。

如果把这个事件放在PrepareEdit事件中,就会有个麻烦,当准备编辑时,看到的是ID,而不是Code

如果把这个事件放在StartEdit事件中,就会有另一个麻烦,当焦点停留在某一行的D列时,鼠标就点不了其它地功能键。

如何解决呢?
[此贴子已经被作者于2014-10-23 22:29:12编辑过]

--  作者:有点甜
--  发布时间:2014/10/23 22:32:00
--  

 这个是做不到的,你只能用下拉表格模拟

 

 http://www.foxtable.com/help/topics/2465.htm

 


--  作者:chnfo
--  发布时间:2014/10/23 23:00:00
--  
我试验了一下,是可以的哟,但问题就出在前面所说的两难上。
肯定不能放在项目事件的maintablechanging中

如果把这个事件放在PrepareEdit事件中,就会有个麻烦,当准备编辑时,看到的是ID,而不是
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目4.zip


如果把这个事件放在StartEdit事件中,就会有另一个麻烦,当焦点停留在某一行的D列时,鼠标就点不了其它地功能键