2011-01-20 24 views
3

特定のセルの値にカーソルを移動すると、ホバーの値はセルの値と同じになります。セル値と異なるホバーテキストを変更することはできますか?jqgrid変更列のタイトル属性

おかげで一般的に

答えて

1

は、ツールチップは<td>要素のtitle属性です。 setCellメソッドを使用してツールチップを変更できます(thisを参照)。より複雑な状況では、jQuery.attrhereを参照)またはツールチッププラグイン(hereを参照)を使用することができます。

+0

これは私が実際にやっていることです。私はデータベースからの値を持っています。列の値の1つが非常に長いです。だから私は30文字だけを表示したいので、ホバリング時にすべての文字を表示したい。これは可能ですか? – DG3

+2

@ user508518:列の幅を設定すると、その30個の文字が表示されますが、同じ効果があります。ユーザーは、セル内の最初の30文字を表示し、ホバー文字全体のテキストが表示されます。セルのテキストを切り捨てたい場合は、 'setCell'を使用してツールチップを変更せずにテキストを変更することができます。 – Oleg

1

これは2によって達成することができますが、

  1. ステップあなたは、単にtitle:false
  2. を設定することにより、デフォルトのツールチップを無効にすることができ、グローバル関数を書き、colModel

    でフォーマッタとして添付
    var changeTitle = function(cellVal, options, rowObject){<br/> 
        return "&lt;div title='This is the cell value " + cellVal + "'>" + cellVal + "&lt;/div>";<br/> 
    } 
    
    colModel:[ 
    {...},<br/> 
    {name:'priorityFlag', index:'priorityFlag', width:40, align:"center", formatter: changeTitle },<br/> 
    {...}] 
    

あなたは行く!

4

列のcolModelでcellattr属性を使用して、カスタムツールチップを設定することができます。たとえば、

cellattr: function() { return ' title="my custom fixed tooltip for the column"'; } 
+0

完全に作業しました。良い解決策。 – earl3s

関連する問題