0

私はすべての投稿を読み終え、最終的にsetCellがハードコードされた値で動作するようになりましたが、options.rowIdは使用していません。

 function StatusFormatter(cellvalue, options, rowObject) {
    if (cellvalue == 'C'){
        jQuery("#list").setCell(options.rowId , 'SOORDLINE', '', { color: 'red' });
        jQuery("#list").setCell("[2.000]", 'SOORDLINE', '', { color: 'red' });
        jQuery("#list").setCell('[2.000]', 'SOREQDATE', '', { color: 'red' });
        jQuery("#list").setCell(options.rowId, 'SOPRICE', '', { color: 'red' });
    }
    return cellvalue;
    };  

FIRST行とLAST行は機能しませんが、ハードコードされたrowIdを持つ2行は機能します。option.rowIdに何が返されるかを調べたところ、ハードコードされた値と同じです(もちろん、行によって異なります。何が欠けていますか?助けてください。行や値に違いはありません。

編集済み-

私は答えを試しました、そしてそれは私が必要としているもののようです。私は以下を試しました

      { name: 'SOORDLINE', index: 'SOORDLINE', width: 25, search: false ,celattr: function () { return ' style="color: red"'; }
},

私が論理に飛び込む前に、少なくともそれらをすべて赤くすること、そしてそれは私にとって何もしませんでした。

4

1 に答える 1

1

申し訳ありませんが、カスタム フォーマッタまったく間違った方法で使用しています。カスタム フォーマッタの目的は、HTML フラグメントを提供して、対応する列のセルのコンテンツを埋めることです。そのため、id が と等しい行が作成される前にStatusFormatterが呼び出されます。さらに、パフォーマンスの目的で 1 つ使用するのが一般的です。この場合、グリッドのコンテンツ全体 (グリッドの本体全体) が最初に文字列として構築され、その後にのみ 1 回の操作でグリッド本体に配置されます。要素を配置した後、Web ブラウザーはページ上の他のすべての要素の位置を再計算する必要があるため、パフォーマンスが向上します。options.rowIdgridview: true

SOORDLINEセルにテキストの色を設定する場合は、cellattr代わりに次のことを行う必要があります。

celattr: function () { return ' style="color: red"'; }

celattrフォームcelattr: function (rowId, cellValue, rawObject) {...}でも使用でき、任意の列の値を表すプロパティをテストrawObjectし、セル値に基づいてセル スタイルを返すことができます。

または、すべての行に同じスタイルを設定する代わりに、要素内の行を列挙して要素にloadCompleteスタイルを設定することもできます。例として答えを見て<tr>ください。

于 2011-12-20T20:06:16.127 に答える