找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 自定义cell type

dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-27 09:39:40
11#
好的,我做好demo发给你
回复 使用道具 举报
haomi20032003
初级会员   /  发表于:2018-12-27 13:58:18
12#
dexteryao 发表于 2018-12-27 09:39
好的,我做好demo发给你

非常感谢
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-27 15:40:33
13#
重写Render画一个图标,例子里我就画了个方块,然后事件里判断是不是点的图标,执行操作。

  1. fpSpread1.ActiveSheet.ColumnHeader.Cells[0, 0].Renderer = new MyColumnHeaderRenderer();
  2.             fpSpread1.CellClick += FpSpread1_CellClick;
复制代码


  1.         private void FpSpread1_CellClick(object sender, CellClickEventArgs e)
  2.         {
  3.             if (e.ColumnHeader)
  4.             {
  5.                 if(fpSpread1.ActiveSheet.ColumnHeader.Cells[e.Row, e.Column].Renderer is MyColumnHeaderRenderer)
  6.                 {
  7.                     var r = e.View.GetColumnHeaderCellRectangle(0, e.Row, e.Column);

  8.                     if (e.X>= r.X + r.Width - 30 && e.X<= r.X + r.Width - 30+15
  9.                         && e.Y>= r.Y + (r.Height - 15) / 2 &&e.Y<= r.Y + (r.Height - 15) / 2 + 15)
  10.                     {
  11.                         MessageBox.Show("Ha");
  12.                         e.Cancel = true;
  13.                     }
  14.                 }
  15.             }
  16.         }
复制代码

  1.     public class MyColumnHeaderRenderer : FarPoint.Win.Spread.CellType.ColumnHeaderRenderer
  2.     {
  3.         // Override the sorting indicator paint method.
  4.         public override void PaintCell(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appearance, object value, bool isSelected, bool isLocked, float zoomFactor)
  5.         {
  6.             base.PaintCell(g, r, appearance, value, isSelected, isLocked, zoomFactor);
  7.             Pen p = new Pen(Brushes.Red);

  8.             g.DrawRectangle(p, r.X + r.Width - 30, r.Y + (r.Height - 15) / 2, 15, 15);


  9.         }

  10.       
  11.     }
复制代码
回复 使用道具 举报
haomi20032003
初级会员   /  发表于:2018-12-28 22:40:12
14#
已经搞定了,我在指定地方花了一个图形,顺便问下,如果我想鼠标移过去的时候有变化,比如凸起什么的,是不是要重写一个了?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-29 12:41:17
15#
这个现在做不到,paint里面接不到鼠标位置,判断不出来。
回复 使用道具 举报
haomi20032003
初级会员   /  发表于:2018-12-29 20:33:36
16#
dexteryao 发表于 2018-12-29 12:41
这个现在做不到,paint里面接不到鼠标位置,判断不出来。

好的,非常感谢,问题已经解决了,麻烦结贴
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-2 09:39:57
17#
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部