找回密码
 立即注册

QQ登录

只需一步,快速开始

stufot

金牌服务用户

3

主题

10

帖子

53

积分

金牌服务用户

积分
53

微信认证勋章

QQ
最新发帖
stufot
金牌服务用户   /  发表于:2016-8-16 14:20  /   查看:4051  /  回复:3
如题。如何实现鼠标放置标题上,显示标题文字的定义等信息?
blob102057189.png

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-16 14:58:55
沙发
您好,没有直接的设置能实现您的需求。如果您对样式没有要求的话可以试试下面的代码。如果您想改样式,也可用下面的方法在header cell上加上一个标签,然后留给前端去处理。


  1. FpSpread1.ActiveSheetView.ColumnHeader.Cells[0, 0].CellType = new ColHeaderToolTip("sdfdsf");
复制代码

  1. public class ColHeaderToolTip : GeneralCellType
  2.         {
  3.             public string Message { get; set; }

  4.             public ColHeaderToolTip(string message)
  5.             {
  6.                 this.Message = message;
  7.             }

  8.             public override Control PaintCell(string id, TableCell parent, Appearance style, Inset margin, object value, bool upperLevel)
  9.             {
  10.                 parent.Attributes.Add("title", this.Message);
  11.                 return base.PaintCell(id, parent, style, margin, value, upperLevel);
  12.             }
  13.         }
复制代码
回复 使用道具 举报
stufot
金牌服务用户   /  发表于:2016-8-16 15:15:27
板凳
dexteryao 发表于 2016-8-16 14:58
您好,没有直接的设置能实现您的需求。如果您对样式没有要求的话可以试试下面的代码。如果您想改样式,也可 ...

这个方法可以解决。
您提到的加一个标签去修改批注框的样式,具体是如何实现?如何加标签?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-16 15:39:03
地板
我做了一个您试试
  1.             public override Control PaintCell(string id, TableCell parent, Appearance style, Inset margin, object value, bool upperLevel)
  2.             {
  3.                // parent.Attributes.Add("title", this.Message);
  4.                 parent.Attributes.Add("data-message", this.Message);
  5.                 parent.Attributes.Add("onmouseover", "mouseOver(this,event)");
  6.                 parent.Attributes.Add("onmouseout", "mouseOut(this,event)");
  7.                
  8.                 return base.PaintCell(id, parent, style, margin, value, upperLevel);
  9.             }
复制代码

  1.    <script>
  2.      var _toolTipElement;
  3.         function mouseOver(sender, event) {
  4.             if (!_toolTipElement) {
  5.                 var div = document.createElement("div");
  6.                 $(div).css("position", "absolute")
  7.                 .css("border", "1px #C0C0C0 solid")
  8.                 .css("box-shadow", "1px 2px 5px rgba(0,0,0,0.4)")
  9.                 .css("font", "9pt Arial")
  10.                 .css("background", "yellow")
  11.                 .css("padding", 5)
  12.                 .css("top", event.clientY)
  13.                 .css("left", event.clientX);

  14.                 _toolTipElement = div;
  15.             }
  16.             $(_toolTipElement).text($(sender).data("message"));
  17.             $(_toolTipElement).hide();
  18.             document.body.insertBefore(_toolTipElement, null);
  19.             $(_toolTipElement).show("fast");
  20.         }
  21.         function mouseOut(sender, event) {
  22.             if (_toolTipElement) {
  23.                 document.body.removeChild(_toolTipElement);
  24.                 _toolTipElement = null;
  25.             }
  26.         }
  27.     </script>
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部