0

こんにちは、フィルタリングまたはソートされた(剣道UIグリッドの)列の背景色を変更したいと思います。ヘッダーだけでなく、列全体の色を変更したい。誰かがcssクラスでこれに到達する方法を知っていますか?

4

2 に答える 2

2

私はこれについてゲームに遅れていることを知っていますが、私が構築しているアプリケーションにもこの要件があり、解決策を共有すると考えました. セルを強調表示するのは簡単です。剣道に入って、どのセルを強調表示するかを理解するのがコツです。@Atanas Korchev の応答を使用して、剣道のフッターが強調表示されないように修正しました。

var filterObj = $("#grid").data("kendoGrid").dataSource.filter;
if (filterObj.arguments && filterObj.arguments[0]) {
    filterObj.arguments[0].filters.forEach(function(val) {
        var index = $(".k-header[data-field='" + val.field + "']").index();
        $("#grid tr[role='row']").find("td:eq(" + index + ")").css("background-color", "red");
    });
}

大きな注意点 - 私は Kendo のドキュメント (せいぜい迷路) を参照せずに、これを自分で完全にリバース エンジニアリングしたため、将来のリリースで動作し続けることを保証することはできません。少なくとも当分の間、私たちのバージョンの剣道は修正されているので、(今のところ)うまくいきます。また、「引数」リストにオブジェクトが 1 つしかない理由を本当に理解するのに十分な時間を費やしませんでした。ユースケースまたは構成がどういうわけか異なります (繰り返しますが、私のローカル シナリオでは、1 つの引数を超えることはないようで、少し緊張します)。とにかく、もう1つの.forEachです...

于 2013-10-16T23:09:54.300 に答える
1

n 番目のセル (フィルタリングされた列のインデックスに対応) を見つけて、それらの CSS スタイルを設定できます。

$("#grid tr").find("td:eq(1)").css('background', 'grey');

これにより、1 つおきのセルの背景が灰色に設定されます。ライブデモは次のとおりです。

http://jsbin.com/ixozad/1/edit

于 2013-02-05T15:19:42.687 に答える