0

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

4

2 に答える 2

4

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

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

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

于 2012-03-12T09:56:23.167 に答える
0

その列の値 (セル内の空白を含むセル全体ではなく) をクリックしたときにダイアログを開く場合は、そのフィールドの format 関数を使用して、アンカー要素または任意の HTML を返すことができます。クリック可能なその他の HTML。

例えば:

グリッド構造:

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

function formatEmail(data, item, store) {
    return "<a href='mailto:" + data + "'>" + item.nameOfPerson + "</a>";
}
于 2012-03-12T14:03:08.087 に答える