找回密码
 立即注册

QQ登录

只需一步,快速开始

ilbjyaya

高级会员

12

主题

27

帖子

1143

积分

高级会员

积分
1143

活字格认证

ilbjyaya
高级会员   /  发表于:2014-5-9 15:12  /   查看:5994  /  回复:5
如题

5 个回复

倒序浏览
孙增东
中级会员   /  发表于:2014-5-9 15:40:00
沙发
排序很简单有个属性,但是我想知道怎么才能把那个菱形和三角型替换掉
回复 使用道具 举报
孙增东
中级会员   /  发表于:2014-5-9 15:43:00
板凳
代码设置排序
            fpSpread1.ActiveSheet.SetColumnAllowAutoSort(2, true);
            fpSpread1.ActiveSheet.AutoSortColumn(2);

属性排序是选择要排序的列
          AllowAutoSort 设为true
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-5-9 16:11:00
地板
回复 3楼孙增东的帖子

定制排序指示器方法请参考,代码中手动绘制了图形,也可以用图片填充:

  1.         private void Form1_Load(object sender, System.EventArgs e)
  2.         {
  3.             fpSpread1.ActiveSheet.ColumnHeader.DefaultStyle.Renderer = new myColumnHeaderRenderer();
  4.             fpSpread1.Sheets[0].Columns[0].AllowAutoSort = true;
  5.         }

  6.         public class myColumnHeaderRenderer : FarPoint.Win.Spread.CellType.ColumnHeaderRenderer
  7.         {

  8.             override public void PaintSortIndicator(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appearance, float zoomFactor)
  9.             {
  10.                 g.FillRectangle(new SolidBrush(Color.Red), r);
  11.             }

  12.             override public void PaintFilterIndicator(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appearance, float zoomFactor)
  13.             {
  14.                 g.FillRectangle(new SolidBrush(Color.Blue), r);
  15.             }

  16.         }
复制代码
回复 使用道具 举报
ilbjyaya
高级会员   /  发表于:2014-5-9 16:24:00
5#
我想要的效果是点击列标题任何位置都可以排序,
而不是点击排序图标。
可以实现吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-5-9 17:03:00
6#
回复 5楼ilbjyaya的帖子

可以尝试通过捕获 CellClick 事件判断是否点击列头(e.ColumnHeader),在通过 SortColumns 方法来实现。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部