ExtJS --将工具提示添加到网格列标题

kulphzqa  于 2022-11-04  发布在  其他
关注(0)|答案(2)|浏览(198)

我正在使用ExtJS 5。我有一个动态网格,这意味着列配置、存储字段、数据等都来自后端。
在用列重新配置网格之前,我尝试使用data-qtip属性在标题中添加工具提示,但没有效果。
这是小提琴:https://fiddle.sencha.com/#fiddle/1fr8
片段:

  1. var cols = data_1.metaData.columns;
  2. for(var i=0;i<cols.length;i++){
  3. cols[i].header = "<font data-qtip='"+cols[i].header+"'>"+cols[i].header+"</font>";
  4. }
  5. grid.reconfigure(null, cols);
  6. store.getProxy().data =data_1.data;
  7. store.loadPage(1)
  8. grid.getView().refresh();

谢谢你!

u3r8eeie

u3r8eeie1#

请不要过于复杂的事情,网格列有一个tooltip的配置,这应该工作。

  1. for(var i=0;i<cols.length;i++){
  2. cols[i].tooltip = cols[i].header;
  3. }

它在您的示例中不起作用,因为QuickTipManager必须首先在Ext.onReady中初始化:

  1. Ext.onReady(function(){
  2. Ext.tip.QuickTipManager.init();
  3. var store = ...

请注意,gridcolumn中的header配置已被弃用,取而代之的是text配置。

hivapdat

hivapdat2#

您也可以覆写initRenderData,在整个应用程序中设定这个值。例如,永远使用栏文字做为工具提示:

  1. /**
  2. * If a tooltip has not been set for a column header
  3. * then always default to the column name
  4. **/
  5. Ext.override(Ext.grid.column.Column, {
  6. initRenderData: function () {
  7. var me = this;
  8. if (Ext.isEmpty(me.tooltip)) {
  9. me.tooltip = me.text;
  10. }
  11. return me.callParent(arguments);
  12. }
  13. });
展开查看全部

相关问题