以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自定义录入界面问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102163)

--  作者:xvkewen
--  发布时间:2017/6/14 12:00:00
--  自定义录入界面问题

我根据帮助文件的【自定义录入界面之三——http://www.foxtable.com/webhelp/scr/2465.htm】的方法设计的DropdowBox(界面如下)

 

 
图片点击可在新窗口打开查看此主题相关图片如下:dropdownbox1.png
图片点击可在新窗口打开查看

 

 

但是在实际使的时候出现以下问题

 

1、当我选择了Dropdowbox表中的内容后(此时Dropdowbox窗口已经打开),突然我不想要了,为了让已经打开的Dropdownbox关闭,所以习惯性用鼠标在别的地方一下;

 

a、当我点在别的已经有内容的行上,就会有机会改了所点行的内容【下图中的第26行】;

b、当我点在自己所在的行上,仍然会将Dropdowbox中的内容录入到所点行上,但是用于打开Dropdownbox窗口的一列则没有内容【下图中的第30-33行】;

 


图片点击可在新窗口打开查看此主题相关图片如下:dropdownbox2.png
图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间:2017/6/14 12:11:00
--  

1、运行foxtable自带的例子,是否有你同样的问题?

 

2、单独做个例子上来测试下。


--  作者:baicaocao
--  发布时间:2017/6/14 14:26:00
--  
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/6/14 14:35:42编辑过]

--  作者:有点色
--  发布时间:2017/6/14 14:32:00
--  

例子没有问题,你肯定是把赋值的表名写错了。

 

1、不会修改你点击的行的内容。

 

2、关闭下拉窗口,默认会填充你窗口表当前行的值,如果不想填充,就把 DropDownClosed 事件的代码写到 DoubleClick 事件去。


--  作者:xvkewen
--  发布时间:2017/6/15 10:42:00
--  

我把代码写在Doubleclick里去了,但是Dropdown那一列(ProcessName)没有取到值,怎么回事?

 

 

b、当我点在自己所在的行上,仍然会将Dropdowbox中的内容录入到所点行上,但是用于打开Dropdownbox窗口的一列则没有内容【下图中的第30-33行】;

 

 


图片点击可在新窗口打开查看此主题相关图片如下:dbclick.jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2017/6/15 10:57:00
--  
Dropdown那一列要这样赋值

If e.Selected Then \'如果选择了值
    Dim tbl As Table = Tables("窗口1_Table1")
    If tbl.Current IsNot Nothing Then
        e.Form.DropDownBox.Value = tbl.Current("客户ID")
        Tables("订单").Current("其它列1") = tbl.Current("其它列1")
        Tables("订单").Current("其它列2") = tbl.Current("其它列2")
        Tables("订单").Current("其它列3") = tbl.Current("其它列3")
        If e.Form.DropTable IsNot Nothing Then \'如果是通过表下拉的
            e.Form.DropTable.FinishEditing() 
        Else \'如果是通过窗口下拉的
            e.Form.DropDownBox.WriteValue() 
        End If
    End If
End If