以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  下面的代码无法让菜单栏按钮反应  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19515)

--  作者:土佛
--  发布时间:2012/5/12 16:22:00
--  下面的代码无法让菜单栏按钮反应

狐爸及各位狐友好!

在"DNP出货规划"表事件PrepareEdit中有如下代码(下拉目录树列表):

If e.IsFocusCell Then
    If e.Col.Name = "DNP生产批次" Then
        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("DNP入仓规划")
        tb.TreeCols = "DK编码|DNP生产批次|DNP名称"

        tb.SourceCols = "DK编码|DNP生产批次" 
        tb.ReceiveCols = "DK编码|DNP生产批次" 
        tb.TreeFilter = "同批剩余可支配总_正品M<>0" 
        e.Col.DropTree = tb.Build()
    End If
End If

有两个问题请教:1、我将光标放在“DNP生产批次”列中的任何一个单元格后,菜单栏的很多按钮反应非常迟钝,甚至会出现如下图所示的重影

 


图片点击可在新窗口打开查看此主题相关图片如下:重影问题.png
图片点击可在新窗口打开查看  ,并且,保存按钮根本就无效,请问是什么原因;

2、我想让列"DNP生产批次" 某行生成的下拉列表中的"DK编码"内容可根据"DNP出货规划"表“DK编码”列对应行的内容有条件的出现在下拉列表中,这样是希望避免下拉列表目录树把所有的“DK编码”都列出来,只要根据"DNP出货规划"表“DK编码”列相应行的单元格内容出现一个即可。

以上问题麻烦狐爸及各位狐友帮忙看看!


--  作者:狐狸爸爸
--  发布时间:2012/5/13 9:04:00
--  

1、你的目录树的条件是固定的,何必使用代码动态设置,代码应该放在MainTableChanged事件中。

 

If MainTable.Name = "DNP出货规划" Then
    If e.Col.Name = "DNP生产批次" Then
        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("DNP入仓规划")
        tb.TreeCols = "DK编码|DNP生产批次|DNP名称"

        tb.SourceCols = "DK编码|DNP生产批次"
        tb.ReceiveCols = "DK编码|DNP生产批次"
        tb.TreeFilter = "同批剩余可支配总_正品M<>0"
        e.Col.DropTree = tb.Build()
    End If
End If

 

2、你可以看看:

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

 

 

 


--  作者:土佛
--  发布时间:2012/5/13 15:57:00
--  

谢谢狐爸,请问1与2两种情况能合二为一吗?


--  作者:土佛
--  发布时间:2012/5/13 18:12:00
--  
狐爸,再次请问,针对1楼问题1,如果今后我必须要用代码动态设置,那怎样才能使“保存”按钮处于激活状态,并且视图不会有重影现象?
--  作者:狐狸爸爸
--  发布时间:2012/5/14 8:11:00
--  

这样设计,慢是必然的,电脑和程序的性能都是有限的,设计的时候也要考虑“选优”和“平衡”