找回密码
 立即注册

QQ登录

只需一步,快速开始

menghuanyunxia

高级会员

111

主题

396

帖子

1075

积分

高级会员

积分
1075

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

menghuanyunxia
高级会员   /  发表于:2013-5-24 10:44  /   查看:5034  /  回复:5
比如现在我列头的下拉框过滤菜单中有1,2,3,4,5,6,7,8,9,10这几项过滤子项,请问我如何用代码实现鼠标点击的操作,比如过滤出来“1”这项菜单的值
  var strfilters = new Dictionary<int, string>();
            for (int i = 0; i < activeSheet.ColumnCount; i++) //保存上一次的过滤信息
            {
                var strfilter = activeSheet.RowFilter.GetColumnFilterBy(i);
                if (!string.IsNullOrEmpty(strfilter))
                {
                    strfilters.Add(i, strfilter);
                }
            }

            activeSheet.RowFilter.ResetFilter(); //清除过滤条件
        foreach (var strfilter in strfilters)
                {   
                   activeSheet.RowFilter.IsFiltered(strfilter.Key);
                   activeSheet.RowFilter.SetColumnFilterBy(strfilter.Key, strfilter.Value);
                }
            }// 还原保存的过滤功能,但是没有作用,全部的项都显示出来了

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-5-24 15:26:00
沙发
回复 1楼menghuanyunxia的帖子

menghuanyunxia 你好,

目前 Spread 过滤方式有三种,在线 demo:http://www.gcpowertools.com.cn/L ... ilter/Overview.aspx
请问你的过滤方式是?
回复 使用道具 举报
menghuanyunxia
高级会员   /  发表于:2013-5-24 15:59:00
板凳
我使用的是execel样式过滤,但我希望能够用代码实现,鼠标点击的功能,比如选中某个下拉框中的一项
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-5-24 18:06:00
地板
回复 3楼menghuanyunxia的帖子

可以使用 Spread

  1. fpSpread1.ActiveSheet.Columns[2].AllowAutoFilter = true;
  2. fpSpread1.ActiveSheet.AutoFilterColumn(2, &quot;London&quot;, 1);
复制代码
回复 使用道具 举报
menghuanyunxia
高级会员   /  发表于:2013-5-24 20:54:00
5#
多谢,根据楼主的方法,问题已经解决
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-5-27 11:54:00
6#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部