我正在尝试为单列的2个单元格设置2个不同的工具提示消息,但是在运行时将应用单个提示消息,即如果单击关于if子句的条件的单元格,那么相同的提示消息将是转发到其余的小区,如果我从第一个小区导航到2个小区消息将不会改变第一个小区消息将继续前进,反之亦然,如果我从第二个小区移动到1个小区第二个小费消息将保持相同的其余部分细胞
celldblclick : function(grid, rowIndex, columnIndex, e) {
var ed = grid.getColumnModel().getCellEditor(columnIndex,rowIndex) || {};
ed = ed.field || {};
if (rowIndex == 0 && columnIndex == 2) {
ed.qtipText="SAMPLE1";
} else {
ed.qtipText="SAMPLE2";
}
}
答案 0 :(得分:1)
为了让它们以不同的方式显示,我通常会将一个函数附加到工具提示beforeshow
方法,该方法在显示之前更新工具提示:
// add tooltips to grid
myGrid.getView().on('render', function(view) {
view.tip = Ext.create('Ext.tip.ToolTip', {
target: view.el,
delegate: view.itemSelector,
trackMouse: true,
minWidth: 0,
maxWidth: 800,
dismissDelay: 0,
showDelay: 800,
renderTo: Ext.getBody(),
listeners:{
beforeshow: function updateTipBody(tip){
text = view.getRecord(tip.triggerElement).get('tooltip')
tip.setWidth(text.length * 5);
tip.update(text);
}
}
});
});
在上面的示例中,我为数据存储区本身的每条记录定义了工具提示,这就是我调用text = view.getRecord(tip.triggerElement).get('tooltip')
的原因('tooltip'是我的数据存储区中带有工具提示文本的列)。但是只要你在结尾处调用tip.update(yourLogic)
,你就可以在beforeshow listener函数中实现你想要的任何逻辑。