找回密码
 立即注册

QQ登录

只需一步,快速开始

tuifeishimei

初级会员

8

主题

20

帖子

200

积分

初级会员

积分
200

微信认证勋章

tuifeishimei
初级会员   /  发表于:2017-12-5 01:17  /   查看:4323  /  回复:3
Spread For Asp.net V10

・想做的是:如下图,第5列的列是合并了两行的,想所有的列全部都能实现AutoFilterMode.Enhanced模式下的过滤效果。
  还请各位帮忙看看有没有解决的方法。


目前的问题点
・过滤器设置索引在第2行(FpSpread1.ActiveSheetView.ColumnHeaderAutoFilterIndex=1)的时候,对 第5列(ALL那列)不起作用。
image.png147134093.png

但是设在第一行(FpSpread1.ActiveSheetView.ColumnHeaderAutoFilterIndex=0)的话,第2,4列没有过滤按钮。
image.png464152831.png

附上代码
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Not (Me.IsPostBack) Then
            FpSpread1.Width = 500
            FpSpread1.Sheets(0).RowCount = 3
            FpSpread1.Sheets(0).ColumnCount = 5
            ' Set the number or rows and columns in the headers.
            FpSpread1.Sheets(0).ColumnHeader.RowCount = 2
            'Span the header cells as needed.
            FpSpread1.Sheets(0).ColumnHeaderSpanModel.Add(0, 4, 2, 1)
            FpSpread1.Sheets(0).ColumnHeaderSpanModel.Add(0, 0, 1, 2)
            FpSpread1.Sheets(0).ColumnHeaderSpanModel.Add(0, 2, 1, 2)
            'Set the labels as needed --
            'using the Label property or the cell Text property.
            FpSpread1.Sheets(0).ColumnHeader.Cells(0, 0).Text = "1st Quarter"
            FpSpread1.Sheets(0).ColumnHeader.Cells(0, 2).Text = "2nd Quarter"
            FpSpread1.Sheets(0).ColumnHeader.Cells(1, 0).Text = "East"
            FpSpread1.Sheets(0).ColumnHeader.Cells(1, 1).Text = "West"
            FpSpread1.Sheets(0).ColumnHeader.Cells(1, 2).Text = "East"
            FpSpread1.Sheets(0).ColumnHeader.Cells(1, 3).Text = "West"
            FpSpread1.Sheets(0).ColumnHeader.Cells(0, 4).Text = "All"
            Dim rf As HideRowFilter = New HideRowFilter(FpSpread1.ActiveSheetView)
            rf.ShowFilterIndicator = True
            rf.AddColumn(0)
            rf.AddColumn(1)
            rf.AddColumn(2)
            rf.AddColumn(3)
            rf.AddColumn(4)
            FpSpread1.ActiveSheetView.RowFilter = rf
            FpSpread1.ActiveSheetView.AutoFilterMode = AutoFilterMode.Enhanced
            FpSpread1.ActiveSheetView.ColumnHeaderAutoFilterIndex = 1
        End If
     End Sub

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-5 09:14:16
沙发
您好,您这个需求现在无法实现,单元格一旦合并会已左上角的单元格覆盖其他单元格。
Row Filter现在无法跨行显示。您只能重新设计下您的表头

评分

参与人数 1满意度 +5 收起 理由
tuifeishimei + 5 果然如此,还是找客户修改表头吧。非常感谢.

查看全部评分

回复 使用道具 举报
tuifeishimei
初级会员   /  发表于:2017-12-5 10:12:02
板凳
非常感谢你多次耐心的回答。以后还请多多指教。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-5 14:47:53
地板
不客气,有问题你发帖就好了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部