Foxtable(狐表)用户栏目专家坐堂 → [求助]是不是代码冲突?


  共有1898人关注过本帖树形打印复制链接

主题:[求助]是不是代码冲突?

帅哥哟,离线,有人找我吗?
jyh7081
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]是不是代码冲突?  发帖心情 Post By: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

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107754 积分:548109 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/7 14:40:00 [只看该作者]

我测试没有问题。下面2段代码放在什么地方执行?

 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/7 15:22:00 [只看该作者]

“下面2段代码放在什么地方执行?”--不知什么意思

第一台电脑:好像我在U盘里、桌面上运行时,出错;放入硬盘里的文件夹内运行就正常了。
第二台电脑:好像都出错。
下面的两段代码都写在菜单里的按钮click中。

跟这有关系吗?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107754 积分:548109 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/7 15:35:00 [只看该作者]

上例子测试。另外项目最好不要放在U盘使用。容易损坏

 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/7 19:00:00 [只看该作者]

谢谢!

打开项目-记录窗口-工作导航(菜单)-大号字体-(大、中、标准),提示:“未将对象引用设置到对象的实例”。

项目属性afteropenobject有一句代码:“Forms("开机窗口").show()”,如果注释掉,就正常了。

请看附件:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:副本.rar


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107754 积分:548109 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/9/7 21:24:00 [只看该作者]

谢谢版主!解决问题了。

 回到顶部