0

サブグリッド付きのjqgridがあります。

マスターグリッドとディテールグリッドに異なる色を適用しようとしています。私には2つのルールがあります。1つは奇数色とペアカラーを交互にすることで、もう1つは特定のフィールドの値に基づいて特定のCSSを行に適用することです。

マスターグリッドと詳細グリッドの両方に、次のgridComplete関数が含まれています。明らかに子ノードのインデックスが異なるため、テーブルにはさまざまなフィールドが含まれます。

gridComplete: function () {
            var _rows = $(".jqgrow");
            for (var i = 0; i < _rows.length; i++) {
                _rows[i].attributes["class"].value += " " + _rows[i].childNodes[4].textContent;
                _rows[i].attributes["class"].value += " " + _rows[i].childNodes[4].innerText;
            }
           applyZebra("jqTicketgrid");
        }

applyZebra関数は、奇数/ペアの色を交互に提供し、サブグリッドを含まない別のグリッドですでにテストされています。記録のために、私はこのフォーラムの他の解決された質問で上記の解決策を見つけました、そして両方とも「単純な」jqgrids(マスター/詳細ではない)で動作します。

問題 マスターグリッドは、クリックして詳細行を展開したときにのみフォーマットされますが、詳細サブグリッドは色が変わることはなく、セルの内容に基づいてフォーマットを適用することもありません。

私はどこが間違っていますか?Pheraps gridCompleteではない別のイベントをインターセプトする必要がありますか?それ以外の場合、grid&subgridsでは、_rows [x]&childNodes [y]属性を使用できませんか?

必要に応じて、説明を求めてください。

前もって感謝します!

4

1 に答える 1

0

コードのエラーは、内部がグリッドのDOM要素またはサブギッドのいずれかになる代わりに使用することだと思います(グリッドをサブグリッドとして使用すると思い$(".jqgrow")ます$(".jqgrow", this)thisgridComplete<table>

さらに、現在のコードを使用することはお勧めしません。はるかに効果的で使いやすいcellattrです。このrawObjectパラメーターを使用すると、現在の行の他のすべてのセルにアクセスできます。答えには、実装の例があります。

于 2012-01-21T22:09:18.047 に答える