找回密码
 立即注册

QQ登录

只需一步,快速开始

hibonetsz

初级会员

8

主题

24

帖子

238

积分

初级会员

积分
238

活字格认证

hibonetsz
初级会员   /  发表于:2014-4-10 23:12  /   查看:5650  /  回复:3
private void tb_ShaiXuan_Click(object sender, EventArgs e)
        {
            this.fps_ErrorInfo.ActiveSheet.ColumnHeaderVisible = true;
            FarPoint.Win.Spread.HideRowFilter hideRowFilter = new FarPoint.Win.Spread.HideRowFilter(this.fps_ErrorInfo.ActiveSheet);
            if (this.tb_ShaiXuan.Checked == true)
                for (int i = 0; i < this.fps_ErrorInfo.ActiveSheet.Columns.Count; i++)
                    this.fps_ErrorInfo.ActiveSheet.Columns.AllowAutoFilter = true;
            else
                for (int i = 0; i < this.fps_ErrorInfo.ActiveSheet.Columns.Count; i++)
                    this.fps_ErrorInfo.ActiveSheet.Columns.AllowAutoFilter = false;   
        }
实现对表单的筛选,但是我想得到筛选后的显示行数,想通过如下事件通过遍历表单各行的visible属性来计算:
private void fps_ErrorInfo_AutoFilteredColumn(object sender, FarPoint.Win.Spread.AutoFilteredColumnEventArgs e)
        {
        }
但是貌似所有行的visible属性值仍然是true,各行行高也没有改变,所以就不知道软件是通过设置哪个属性值来实现筛选的,跪求高人指点!

3 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-4-11 09:33:00
沙发
回复 1楼hibonetsz的帖子

可以通过以下代码获取过滤行索引集合:

  1. int[] array = this.fpSpread1_Sheet1.RowFilter.GetIntersectedFilteredInRows();
复制代码
回复 使用道具 举报
hibonetsz
初级会员   /  发表于:2014-4-11 20:36:00
板凳
非常感谢,搞定!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-4-14 09:36:00
地板
回复 3楼hibonetsz的帖子

客气了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部