2012-03-12 20 views
0

特定の列名を取得し、それに対してイベントを実行したいと考えています。どうやってするか 。 ? dojox.grid.datagridを使用します。今の私のように私のグリッド(ID、名前、電子メール)の3列またはフィールドがあります。私はそれを特定の列のEmailにしたい。その列の下の任意の値をクリックすると、ダイアログボックスが開きません。しかし、他の場所(特定の行の他の2列)をクリックすると、それが開きます。dojoグリッドで列名を取得する方法。

答えて

4

グリッドのonCellClickイベントを接続し、引数から行/列情報を取得できます。例:

dojo.connect(grid, "onCellClick", function (e) { 
    var colField = e.cell.field; // field name 
    var rowIndex = e.rowIndex; // row index 
    .... 
}); 

これらの情報に基づいてイベントハンドラにロジックを追加します。

+0

ありがとう! – pcproff

0

その列の値(セル内の空白を含むセル全体ではない)をクリックしてダイアログを開く場合は、そのフィールドの書式機能を使用して、アンカー要素またはクリック可能な他のHTML例えば

:グリッド構造で

:このクリスのため

columns: [{ 
label: "Email", 
attr: "emailid", 
formatter: formatEmail 
}, 
... 

function formatEmail(data, item, store) { 
    return "<a href='mailto:" + data + "'>" + item.nameOfPerson + "</a>"; 
} 
関連する問題