以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]不同窗口同种控件 选择  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=40899)

--  作者:cqlwsam
--  发布时间:2013/10/5 17:46:00
--  [求助]不同窗口同种控件 选择
我想几个窗口都共用同一个下拉窗口,如何实现。同一个窗口中多个dropbox共用同一个下拉窗口,使用select case语句能搞定。具体是:
窗口(“基本信息”)中的dropbox3
窗口(“患者病史”)中的dropbox11


谢谢!

--  作者:有点甜
--  发布时间:2013/10/5 17:49:00
--  
 不明白你的意思。不是可以指定一个窗口给多个控件的么?在控件那里设置对应的窗口是谁。

 上传例子。

--  作者:cqlwsam
--  发布时间:2013/10/5 18:51:00
--  
就是项目中的下拉窗口“患者关系”分别在窗口“基本信息”中dropbox3及窗口“患者病史”中dropbox11使用。同一个窗口中不同dropbox控件使用没什么问题。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目.table

[此贴子已经被作者于2013-10-5 19:01:32编辑过]

--  作者:有点甜
--  发布时间:2013/10/5 19:34:00
--  
 测试了一下,改动的地方:两个窗口的 与患者关系1 的名字统一为 txt_reference1

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目 (1).table


--  作者:cqlwsam
--  发布时间:2013/10/5 19:41:00
--  
不能保存“与患者关系1”中的数据。能不能像地址信息那样使用select case语句来实现,但我不知道跨窗口使用不同dropbox控件的语句。
--  作者:有点甜
--  发布时间:2013/10/5 19:51:00
--  
 如下简单修改,也可以灵活变通。

If e.node.Level =1 Then
    Dim ps() As String = e.Node.FullPath.Split("\\")
    Dim bf() As String = e.Form.DropDownBox.Form.Controls("txt_reference1").BindingField.Split(".")
    Tables(bf(0)).Current(bf(1)) = ps(1)
    e.Form.DropDownBox.Value = ps(0)

    e.Form.DropDownBox.CloseDropdown()  \'关闭下拉目录树
End If

--  作者:cqlwsam
--  发布时间:2013/10/5 20:17:00
--  
这种改法适合在同一窗口中只有一个dropbox控件使用同一下拉窗口。由于同一窗口中不能有两个命名一样的控件,如果有两个或两个以上就不行。
--  作者:有点甜
--  发布时间:2013/10/5 20:28:00
--  
 你应该这样理解,一个下来窗口,它的功能应该是单一的。

 当然你也可以变通来用嘛,使用 e.Form.DropDownBox.name得到此下来窗口是哪个控件的,从而做不同的操作。

 灵活运用 
e.Form.DropDownBox.name
e.Form.DropDownBox.form.name
[此贴子已经被作者于2013-10-5 20:27:45编辑过]