向具有自动宽度的网格单元动态添加工具提示的问题

Posted

技术标签:

【中文标题】向具有自动宽度的网格单元动态添加工具提示的问题【英文标题】:Issue with dynamically added tooltip to the grid cells with auto width 【发布时间】:2013-09-30 11:47:52 【问题描述】:

我以这种方式为网格中的每个单元格动态添加工具提示:

renderer : function(value, metadata, record)

    metadata.attr = 'ext:qtip="' + value + '" ext:q';
    return value;

它适用于小文本。但是当文本很长时,工具提示必须大于 500px,那么工具提示看起来真的很糟糕。我知道 Sencha 支持的最大宽度是 500px,但我在这里找到了解决方案:http://forums.ext.net/showthread.php?15634-Overcoming-ExtJs-Tooltip-s-max-width-of-500。不幸的是,我不知道如何在 metadata.attr 中将 baseCls 设置为我的 qtips。我正在托盘上:

Ext.Tip.prototype.baseCls = 'custom-x-tip';

但它不会改变任何东西。当然,我在我的 css 文件中定义了那个 css 类。

【问题讨论】:

【参考方案1】:
renderer : function(value, metadata, record)

    return getToolTip(value, metaData,record);


/** For ExtJS 4.x */
function getToolTip(value, metaData,record)
    metaData.tdAttr = 'data-qtip="' + value + '"';
    return value;

> 从这里编辑我的答案:

/** For ExtJS 3.x */
function getToolTip(value, metadata, record, rowIndex, colIndex, store)
    metadata.attr = 'ext:qtip="' + value + '"';
    return value;

【讨论】:

也许解释一下代码,这将有助于该网站的未来访问者。 'data-qtip' 不是仅在 Ext 4 中可用吗?因为它是 Ext.tip.QuickTipManager 单例的一部分。我在分机 3 中需要这个。 让我检查一下 ExtJS 3.x 的替代品 现在检查我的答案我已经为 ExtJS 3.x 版本特定添加了工具提示代码。 但这和我在第一篇文章中写的一样。而且它不能解决非常长的文本的问题。

以上是关于向具有自动宽度的网格单元动态添加工具提示的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自动布局动态调整具有固定宽度的collectionview单元格高度?

无法在具有动态宽度的 Tablecell 中并排自动布局两个 UILabel

如何在 extjs3.4 中更改工具提示背景

动态灵活的网格布局

UICollectionView 单元格在swift中使用约束固定宽度和动态高度

颤动中具有相同单元格高度的动态交错网格