日期:2014-05-16  浏览次数:20351 次

ExtJS Grid Tooltip的3+1种实现方式总结
    本文总结了ExtJS Grid Tooltip的几种实现方法。ExtJS Grid Tooltip可以通过表头提示,单元格提示,行提示以及自己手动添加等方式完成。本文参考了官方FAQ上提供的描述。

    ?

    ExtJS Grid Tooltip实现之一:表头提示

    在2.2里面是设置ColumnModel.tooltip ,3.0则是Column. tooltip 如下:

  1. var?grid?=?new?Ext.grid.GridPanel({?? ?
  2. ??columns:[?? ?
  3. ????{header:'名称',dataIndex:'name',tooltip:'对象名称'},?? ?
  4. ????{header:'开始时间?-?结束时间?<?br/>成功/失败/成功率',?dataIndex:'sucRate',tooltip:'成功/失败/成功率'}?? ?
  5. ??]?? ?
  6. });??

ExtJS Grid Tooltip实现之二:单元格提示

1)使用Ext.QuickTips

在开始的时候就执行Ext.QuickTips.init();

然后对需要提示的单元格,重写renderer函数,添加ext:qtitle , ext:qtip这2个属性即可。

这个在官方的FAQ上有详细描述: http://extjs.com/learn/Ext_FAQ_Grid#Add_ToolTip_or_Qtip

  1. //option?1?? ?
  2. //========?? ?
  3. renderer?=?function?(data,?metadata,?record,?rowIndex,?columnIndex,?store)?{?? ?
  4. ????//build?the?qtip:?? ?
  5. ????var?title?=?'Details?for?'?+?value?+?'-'?+?record.get('month')?+?? ?
  6. ????????'-'?+?record.get('year');?? ?
  7. ????var?tip?=?record.get('sunday_events');?? ?
  8. ??? ?
  9. ????metadata.attr?=?'ext:qtitle="'?+?title?+?'"'?+?'?ext:qtip="'?+?tip?+?'"';?? ?
  10. ??? ?
  11. ????//return?the?display?text:?? ?
  12. ????var?displayText?=?'<?sp