编辑备用提示消息

时间:2012-02-10 10:16:08

标签: extjs

我正在尝试为单列的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";
    }
}

1 个答案:

答案 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函数中实现你想要的任何逻辑。

相关问题