2012-02-10 4 views
1

1つの列の2つのセルに対して2つの異なるツールヒントメッセージを設定しようとしていますが、実行時に1つのヒントメッセージが適用されます。if節の条件私は1番目のセルから2つのセルメッセージに移動する場合、1番目のセルメッセージは転送され、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

どのext jsのバージョンを使用しますか? – Krzysztof

答えて

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')と呼んでいます(「ツールチップ」は、ツールチップのテキストを含むデータストアの列です)。しかし、最後にtip.update(yourLogic)を呼び出す限り、beforeshow listener関数で必要なロジックを実装することができます。