找回密码
 立即注册

QQ登录

只需一步,快速开始

LeeDongmei

金牌服务用户

44

主题

237

帖子

531

积分

金牌服务用户

积分
531

活字格认证微信认证勋章元老葡萄

LeeDongmei
金牌服务用户   /  发表于:2012-11-5 14:23  /   查看:5549  /  回复:8
请教如下问题:
如何实现一键隐藏或显示所有分组后明细信息,而不是一个一个去按分组信息前的“+/—”按钮。
图1:显示所有分组后明细信息


图2:隐藏所有分组后明细信息

8 个回复

倒序浏览
LeeDongmei
金牌服务用户   /  发表于:2012-11-5 14:29:00
沙发
图1:显示所有分组后明细信息
新图片(14).png (168.51 KB, 下载次数: 130)
回复 使用道具 举报
LeeDongmei
金牌服务用户   /  发表于:2012-11-5 14:30:00
板凳
图2:隐藏所有分组后明细信息

新图片(15).png (161.94 KB, 下载次数: 137)
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-5 17:17:00
地板
可以通过循环调用 ExpandRow 方法来折叠/展开所有行。
回复 使用道具 举报
LeeDongmei
金牌服务用户   /  发表于:2012-11-6 10:44:00
5#
我是采用此种方法处理,但没有反应。
代码如下:
    Public Sub ExpandBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExpandBtn.Click
        ' programmatically expand rows, in this case all rows
        Dim i As Integer
        For i = 0 To FpSpread1.Sheets(FpSpread1.ActiveSheetViewIndex).RowCount - 1
            FpSpread1.Sheets(FpSpread1.ActiveSheetViewIndex).ExpandRow(i, True)
        Next i
        'FpSpread1.ActiveSheetView.ExpandRow(-1, True)

    End Sub

我试了一下,通过代码即使展开一条也不能实现。
回复 使用道具 举报
LeeDongmei
金牌服务用户   /  发表于:2012-11-6 10:55:00
6#
追加说明:
我的分组是用如下方法实现的:
        FpSpread1.ActiveSheetView.AllowGroup = True

        Dim gi As New FarPoint.Web.Spread.GroupInfo
        gi.BackColor = Color.LightSkyBlue
        Dim gi2 As New FarPoint.Web.Spread.GroupInfo
        gi2.BackColor = Color.LightGoldenrodYellow
        Dim gic As New FarPoint.Web.Spread.GroupInfoCollection()
        gic.AddRange(New FarPoint.Web.Spread.GroupInfo() {gi, gi2})

        FpSpread1.ActiveSheetView.GroupInfos.Add(gic(0))
        If gic.Contains(gi) Then
            gic.Remove(gi)
        End If

        FpSpread1.ActiveSheetView.GroupFooterInfos.Add(gic(0))
        If gic.Contains(gi) Then
            gic.Remove(gi)
        End If
        FpSpread1.ActiveSheetView.GroupFooterVisible = True
        FpSpread1.ActiveSheetView.GroupBarHeight = 20
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-6 12:07:00
7#
可以使用下面的代码:
  1. Protected Sub Button1_Click(sender As Object, e As EventArgs)
  2.         Dim gdm As FarPoint.Web.Spread.Model.GroupDataModel = TryCast(FpSpread1.ActiveSheetView.DataModel, FarPoint.Web.Spread.Model.GroupDataModel)
  3.         If gdm IsNot Nothing Then
  4.                 For Each item As FarPoint.Web.Spread.Model.Group In gdm.Groups
  5.                         item.Expanded = True
  6.                 Next
  7.         End If
  8. End Sub

  9. Protected Sub Button2_Click(sender As Object, e As EventArgs)
  10.         Dim gdm As FarPoint.Web.Spread.Model.GroupDataModel = TryCast(FpSpread1.ActiveSheetView.DataModel, FarPoint.Web.Spread.Model.GroupDataModel)
  11.         If gdm IsNot Nothing Then
  12.                 For Each item As FarPoint.Web.Spread.Model.Group In gdm.Groups
  13.                         item.Expanded = False
  14.                 Next
  15.         End If
  16. End Sub
复制代码
回复 使用道具 举报
LeeDongmei
金牌服务用户   /  发表于:2012-11-6 13:08:00
8#
多谢版主!
顺利实现。:strong:
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-6 16:13:00
9#
好的  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部