找回密码
 立即注册

QQ登录

只需一步,快速开始

yellowgiutou

新手上路

1

主题

4

帖子

39

积分

新手上路

积分
39
  • 35

    金币

  • 主题

  • 帖子

最新发帖
yellowgiutou
新手上路   /  发表于:2011-10-25 19:29  /   查看:6968  /  回复:5
fpSpread怎么获得当前显示的所有行的下标?
我有可能筛选来的,也可能没筛选,现在我需要获取当前显示的所有行的下标,如果有进行过筛选操作,那么隐藏了 的行则不获取。请问有方法吗?

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2011-10-26 10:04:00
沙发

回复 1# yellowgiutou 的帖子

你好,如果要取到过滤后的行,可以通过以下代码实现:
  1. int[] array = this.fpSpread1_Sheet1.RowFilter.GetIntersectedFilteredInRows();
复制代码
回复 使用道具 举报
yellowgiutou
新手上路   /  发表于:2011-10-26 10:19:00
板凳

回复 2# iceman 的帖子

如果没有过滤直接获取的话,就为null了。
有没有用代码控制过滤的方法呢?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-10-26 11:21:00
地板

回复 3# yellowgiutou 的帖子

可以判断下返回数组是否为 null,如果为 null 就把全部行赋给集合,代码如下:

  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             List<int> array = new List<int>() ;
  4.             if (this.fpSpread1.Sheets[0].Columns[0].AllowAutoFilter)
  5.             {
  6.                 if (this.fpSpread1.Sheets[0].RowFilter.GetIntersectedFilteredInRows()!=null)
  7.                 {            array.AddRange(this.fpSpread1.Sheets[0].RowFilter.GetIntersectedFilteredInRows());
  8.                 }
  9.                 else
  10.                 {
  11.                     foreach (FarPoint.Win.Spread.Row item in this.fpSpread1.Sheets[0].Rows)
  12.                     {
  13.                         array.Add(item.Index);
  14.                     }
  15.                 }
  16.             }
  17.         }
复制代码
回复 使用道具 举报
yellowgiutou
新手上路   /  发表于:2011-10-26 14:12:00
5#

回复 4# iceman 的帖子

好的,谢谢哈
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-10-26 14:58:00
6#

回复 5# yellowgiutou 的帖子

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