以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]是不是代码冲突? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=90193) |
||||
-- 作者:jyh7081 -- 发布时间:2016/9/7 14:25:00 -- [求助]是不是代码冲突? 如果在当前表(或全局表事件)的PrepareEdit事件写入下列代码: If e.RecordGrid IsNot Nothing AndAlso e.RecordGrid.Focused Then \'如果是在记录窗口输入数据 e.Table.Select(e.Row.Index,e.Col.Index) End If 那么,分别运行下列2组代码时,提示:“未将对象引用设置到对象的实例”。若再取消上述表事件,仍然提示。实际上代码运行了,也达到了效果,但不知道哪里出了错。 1------- For Each dt As DataTable In DataTables For Each a As OBJECT In Tables(dt.name).grid.parent.controls For Each b As OBJECT In a.controls output.show(b.text) b.font = New Font("楷体",14) Next Next Next 2------ For Each tb As Table In Tables \'表窗口 \'Dim tb As Table = Tables("样例") Dim rng As C1.Win.C1FlexGrid.CellRange = tb.Grid.GetCellRange(0, 1, 0, tb.cols.Count) Dim cs1 As C1.Win.C1FlexGrid.CellStyle = tb.Grid.Styles.Add("样式1") cs1.Font = new font("宋体", 9) rng.style = cs1 Next |
||||
-- 作者:有点蓝 -- 发布时间:2016/9/7 14:40:00 -- 我测试没有问题。下面2段代码放在什么地方执行? |
||||
-- 作者:jyh7081 -- 发布时间:2016/9/7 15:22:00 -- “下面2段代码放在什么地方执行?”--不知什么意思 第二台电脑:好像都出错。 下面的两段代码都写在菜单里的按钮click中。 跟这有关系吗?
|
||||
-- 作者:有点蓝 -- 发布时间:2016/9/7 15:35:00 -- 上例子测试。另外项目最好不要放在U盘使用。容易损坏 |
||||
-- 作者:jyh7081 -- 发布时间:2016/9/7 19:00:00 -- 谢谢! 打开项目-记录窗口-工作导航(菜单)-大号字体-(大、中、标准),提示:“未将对象引用设置到对象的实例”。 项目属性afteropenobject有一句代码:“Forms("开机窗口").show()”,如果注释掉,就正常了。 请看附件:
|
||||
-- 作者:有点蓝 -- 发布时间:2016/9/7 20:31:00 -- 菜单代码改为 For Each dt As Table In Tables \'记录窗口 Dim rng As C1.Win.C1FlexGrid.CellRange = dt.Grid.GetCellRange(0, 1, 0, dt.cols.Count) Dim cs1 As C1.Win.C1FlexGrid.CellStyle = dt.Grid.Styles.Add("样式1") cs1.Font = new font("宋体", 9) rng.style = cs1 If dt.grid.parent Is Nothing Then Continue For For Each a As OBJECT In dt.grid.parent.controls For Each b As OBJECT In a.controls \'output.show(b.text) b.font = New Font("楷体",14) If b.text = dt.name Then Dim d = b.controls(0).controls(0) rng = d.GetCellRange(0, 0, d.rows.count-1, 0) cs1 = d.Styles.Add("样式1") cs1.Font = new font("宋体", 9) rng.style = cs1 End If Next Next Next |
||||
-- 作者:jyh7081 -- 发布时间:2016/9/7 21:24:00 -- 谢谢版主!解决问题了。 |