0

こんにちは、カスタム グリッドでビューモデルを使用しています (ノックアウト カスタム テンプレートを使用)。そのグリッドの下に、フィルタリング用のすべてのアルファベットのリストがあります。フィルタリングとは、「A」をクリックすると、アルファベット「A」で始まるデータのみが表示されることを意味します。「B」をクリックすると、「B」で始まるデータはカスタム グリッドでのみ表示されます。コードはグリッド内の現在表示されているデータに対して正常に機能していますが、viewmodel データ全体をフィルタリングしていません。jqueryセレクターに問題があることは知ってい$(".row")ますが、解決方法がわかりません。これが私のコードです:

abcFilter: function (filterChar) {
                if (filterChar !== 'All') {
                $(".row").filter(function () {
                return $(this).children('td').eq(1).text().substring(0, 1).toLowerCase() != filterChar.toLowerCase();
                }).hide();
            }
            else {
                $("table tr").show();
            }
        };`
4

1 に答える 1

0

私はこのバインディングをグリッドに使用します。これは非常に強力です (datatables.net グリッドを利用します)。

https://github.com/CogShift/Knockout.Extensions

編集:これは回答として受け入れられたばかりです。私たちが話しているように、ネイティブ KO グリッドの形式でより良い代替手段があります。

https://github.com/Knockout-Contrib/KoGrid

于 2012-10-04T10:53:57.130 に答える