找回密码
 立即注册

QQ登录

只需一步,快速开始

hptj

高级会员

72

主题

240

帖子

1170

积分

高级会员

积分
1170

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

hptj
高级会员   /  发表于:2016-12-5 10:54  /   查看:4794  /  回复:4
在sparead for winforms 里面,做下设置:sheet.columns[0].AllowAutoFilter =true,
操作完成过滤后,我怎么从程序里面获取过滤条件?

4 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-12-5 15:14:56
沙发
您好,再过滤后可以通过下面方式获取到filteritems


            var columnFilter = fpSpread1.ActiveSheet.RowFilter.GetFilterColumnDefinition(0);
            var filterItem = columnFilter.Filters[1] as FarPoint.Win.Spread.MultiValuesFilterItem;
            var items = filterItem.FilterItems;
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-12-5 17:21:19
板凳
完整的 代码
  1. /// <summary>
  2.     /// Get filterred values from a column
  3.     /// </summary>
  4.     /// <param name="column"></param>
  5.     /// <returns></returns>
  6.     private List<object> GetFilteredValues(int column)
  7.     {
  8.       List<object> filterValues = null;
  9.       SheetView sv = fpSpread1.ActiveSheet;
  10.       if (sv.RowFilter != null && sv.RowFilter.ColumnDefinitions.Count > 0)
  11.       {
  12.         foreach(IFilterItem item in sv.RowFilter.ColumnDefinitions[column].Filters) {
  13.           MultiValuesFilterItem mfi = item as MultiValuesFilterItem;
  14.           if (mfi != null)
  15.           {
  16.             filterValues = new List<object>();
  17.             int[] inRows = sv.RowFilter.GetFilteredInRows(column);
  18.             foreach (int r in inRows)
  19.             {
  20.               string text = sv.Cells[r, column].Text;
  21.               if (!filterValues.Contains(text))
  22.                 filterValues.Add(text);
  23.             }
  24.             break;
  25.           }
  26.         }
  27.       }
  28.       return filterValues;
  29.     }
复制代码

评分

参与人数 1满意度 +5 收起 理由
hptj + 5 很给力!

查看全部评分

回复 使用道具 举报
error
注册会员   /  发表于:2022-5-10 11:22:04
地板
AllowAutoFilter里面的数据可以排序吗
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-5-10 11:31:26
6#
AllowAutoSort是用来运行排序的,可以和AllowAutoFilter一起使用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部