以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]不同窗口同种控件 选择 (http://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控件使用没什么问题。
[此贴子已经被作者于2013-10-5 19:01:32编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2013/10/5 19:34:00 -- 测试了一下,改动的地方:两个窗口的 与患者关系1 的名字统一为 txt_reference1
|
||||
-- 作者: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编辑过]
|