找回密码
 立即注册

QQ登录

只需一步,快速开始

beitesting

中级会员

28

主题

92

帖子

794

积分

中级会员

积分
794

活字格认证

beitesting
中级会员   /  发表于:2017-3-15 19:42  /   查看:3642  /  回复:3
ComponentOne2016V3
控件:C1.Win.C1FlexGrid.Classic.C1FlexGridClassic
问题:
  VB6的FlexGird升级到VB.NET的C1FlexGridClassic后,
  C1FlexGridClassic控件在AfterCollapse事件中,获取当前单击节点的最后一个子节点的行号,获取失败。取得值是-1。
  是什么原因?

代码:
Private Sub fgTree_AfterCollapse(sender As Object, e As C1.Win.C1FlexGrid.RowColEventArgs) Handles fgTree.AfterCollapse
   Dim wintRow As Integer = fgTree.GetNodeRow(eventArgs.Row, C1.Win.C1FlexGrid.NodeTypeEnum.LastChild)
   While wintRow > eventArgs.Row
        fgBar.set_RowHidden((wintRow * 2) + 1, True)
        fgBar.set_RowHidden(wintRow * 2, True)
        wintRow = wintRow - 1
   End While
End Sub

3 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2017-3-16 11:34:45
沙发
谢谢您的反馈。
首先解释下,VSFlexGrid和C1FlexGrid是属于不同平台的控件,属于不同的产品,两者之间没有升级的关系。

对于C1FlexGrid在AfterCollapse事件中,获取最后一个子节点的行号失败的问题,有可能是您的代码引起的。需要您提供可以重现问题的Demo,我们帮您看看具体的问题是什么。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
beitesting
中级会员   /  发表于:2017-3-16 20:07:59
板凳
Alice 发表于 2017-3-16 11:34
谢谢您的反馈。
首先解释下,VSFlexGrid和C1FlexGrid是属于不同平台的控件,属于不同的产品,两者之间没有 ...

问题解决了,GetNodeRow能够取到。
取不到的原因是因为我在追加节点的时候,设定的Level属性值不对。
有问题的设定
Level:0,3,4,2,3
改正后:
Level:0,1,2,1,2

评分

参与人数 1金币 +100 收起 理由
Alice + 100 赞一个!

查看全部评分

回复 使用道具 举报
Alice
社区贡献组   /  发表于:2017-3-17 09:04:42
地板
beitesting 发表于 2017-3-16 20:07
问题解决了,GetNodeRow能够取到。
取不到的原因是因为我在追加节点的时候,设定的Level属性值不对。
...

非常感谢您对此问题的反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部