以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何动态取消列的按钮  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24068)

--  作者:与伊相伴
--  发布时间:2012/9/28 15:22:00
--  如何动态取消列的按钮

在窗口表上能否实现动态取消下拉列的属性,就是在输入的时候,但我选择加工工序是,直接手工输入,当我选择材料是希望关联数据库中的材料信息,把某一列的属性改为按钮的下拉列表,如果下一行又不需要输入材料了,可不可以动态取消改列的按钮,改为普通的单元格呢?


--  作者:狐狸爸爸
--  发布时间:2012/9/28 15:29:00
--  

设置此列的PrepareEdit事件代码:

 

If e.IsFocusCell Then
    If e.Col.Name = "列名" Then
        If 条件成立 Then
            e.Col.Combolist = "a|b|c|d" \'设置列表项目
        Else
            e.col.Combolist = ""
        End If
    End If
End If


--  作者:与伊相伴
--  发布时间:2012/9/28 15:59:00
--  

还是没达到效果呢?效果为:
图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

我想要的效果为当[材料]列没选中的时候不弹出窗口,是否可以呢?


--  作者:狐狸爸爸
--  发布时间:2012/9/28 16:03:00
--  

If e.IsFocusCell Then
    If e.Col.Name = "成本名称" Then
        If e.Row("材料") = True Then
            e.Col.Combolist = "..." 

        Else
            e.col.Combolist = ""
        End If
    End If
End If


--  作者:与伊相伴
--  发布时间:2012/9/28 16:23:00
--  

这个就是当点击材料列之后,再点取消或是,增加下一列,还是不能直接输入到单元格里面去,就是还是弹出该单元格的[编辑]输入框,如:
图片点击可在新窗口打开查看此主题相关图片如下:未命名1.jpg
图片点击可在新窗口打开查看

是否可以修改到没更改过它属性的状态呢

[此贴子已经被作者于2012-9-28 16:37:51编辑过]

--  作者:lin_hailun
--  发布时间:2012/9/28 16:37:00
--  
 楼主,不是有CellButtonClick事件吗?

--  作者:与伊相伴
--  发布时间:2012/9/28 16:54:00
--  
谢谢!我想取消所有的窗口弹出,因为我就是通过CellButtonClick弹出一个窗口来选择所需要的数据的,我就是想实现两种输入的方式
--  作者:lin_hailun
--  发布时间:2012/9/28 17:28:00
--  
 狐爸那段代码逻辑通,不过实际用的使用无效,要变成这样。

If e.IsFocusCell Then
    If e.Col.Name = "成本名称" Then
        If e.Row("材料") = True Then
            e.Col.Combolist = "..." 

        Else

            e.col.Combolist = "嘻嘻嘻"

            e.col.Combolist = ""
        End If
    End If
End If



--  作者:狐狸爸爸
--  发布时间:2012/9/28 18:05:00
--  
果然,那么这应该是一个bug的了
--  作者:与伊相伴
--  发布时间:2012/9/28 20:08:00
--  

这个问题我之前也提问过,可能是当时没说清楚没能及时反应出来,解决一下啦

我从代码上分析,应该是可以取消的,可是试了好久不知道是什么原因?