以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]怎样遍历窗口中的RecordGrid (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99728) |
||||
-- 作者:jyh7081 -- 发布时间:2017/4/25 18:15:00 -- [求助]怎样遍历窗口中的RecordGrid 窗口中有多个RecordGrid,分别为RecordGrid1、RecordGrid2......想遍历后引用。谢谢! |
||||
-- 作者:有点色 -- 发布时间:2017/4/25 18:22:00 -- 方法一:循环所有控件,判断是否为RecordGrid控件。
方法二:动态引用
for i as integer = 1 to 10 e.form.controls("recordgrid" & i) next |
||||
-- 作者:wyz20130512 -- 发布时间:2017/4/25 18:25:00 -- For Each c As WinForm.Control In e.Form.Controls If Typeof c Is WinForm.RecordGrid Then \'判断控件是否是记录窗口 Dim rg As WinForm.RecordGrid = c \'使用特定类型的变量引用控件 ... End If Next [此贴子已经被作者于2017/4/25 18:25:12编辑过]
|
||||
-- 作者:jyh7081 -- 发布时间:2017/4/25 18:46:00 -- 我是想多个RecordGrid共用下面这段代码,这多个RecordGrid,绑定的是同一个表的不同字段。没改成,请帮忙,谢谢!
Dim g1 = e.Form.Controls("RecordGrid1").BaseControl rt.text = iif(g1(g1.Selection.r1, 1) Is dbnull.value, "", g1(g1.Selection.r1, 1))
[此贴子已经被作者于2017/4/25 20:52:56编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2017/4/25 20:24:00 -- for i as integer = 1 to 10 \'有多少个自己改这个数字 Dim g1 = e.Form.Controls("RecordGrid" & i).BaseControl If vars("xy") <> CurrentTable.Position & "," & g1.selection.r1 Then rt.text = iif(g1(g1.Selection.r1, 1) Is dbnull.value, "", g1(g1.Selection.r1, 1)) next |
||||
-- 作者:jyh7081 -- 发布时间:2017/4/25 21:00:00 -- 还是有问题,请版主帮忙看看实例,右边窗口与左边的记录窗口单元格同步;页签1和页签2都绑定 表A, 绑定时存在部分相同的字段。
附件1:
[此贴子已经被作者于2017/4/25 22:04:03编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2017/4/25 21:39:00 --
|
||||
-- 作者:jyh7081 -- 发布时间:2017/4/25 22:05:00 -- 谢谢版主! 右侧的录入窗口,光标始终移动到字符尾部,不能在中间编辑了。 另外,如果再增加一个窗口,绑定表B,自定义函数mytxt_TextChanged、mytxt_MouseDown怎么改?
附件:
[此贴子已经被作者于2017/4/25 22:10:01编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2017/4/25 22:28:00 -- TimerTick Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1") Dim g1 = e.Form.Controls("RecordGrid" & (tab.SelectedIndex+1)).BaseControl If vars("xy") <> CurrentTable.Position & "," & g1.selection.r1 Then vars("xy") = CurrentTable.Position & "," & g1.selection.r1 Dim rt = e.form.Controls("Panel1").basecontrol.Controls("mytxt") rt.text = iif(g1(g1.Selection.r1, 1) Is dbnull.value, "", g1(g1.Selection.r1, 1)) rt.Select(0, rt.text.length) rt.SelectionFont = New Font("仿宋_GB2312",17) \'字体字号 rt.SelectionStart = rt.text.length End If mytxt_TextChanged Dim f As WinForm.Form = Forms.ActiveForm If f IsNot Nothing Then Dim tab As WinForm.TabControl = f.Controls("TabControl1") Dim brgd = f.Controls("RecordGrid" & (tab.SelectedIndex+1)).BaseControl Tables(sender.tag).current(brgd(brgd.Selection.r1,0)) = sender.text End If [此贴子已经被作者于2017/4/25 22:28:16编辑过]
|
||||
-- 作者:jyh7081 -- 发布时间:2017/4/25 22:45:00 -- 谢谢版主! 这个函数mytxt_MouseDown怎么改?
Dim sender = args(0)
If e.Button = MouseButtons.Right Then \'假定按下的是鼠标右键
If e.Button = MouseButtons.Right Then \'假定按下的是鼠标右键
|