12

拡張可能および折りたたみ可能なレコードを含む従来のテーブルがあり、展開すると複数のサブレコードが表示されます (子 div/子テーブルではなく、同じ親テーブルの新しいレコードとして)。私もテーブルソーターを使用していますが、とても気に入っています。

問題は、tablesorter が展開された子レコードを親レコードの隣に保持していないことです。それらが最上位であるかのように並べ替えます。そのため、テーブルが列でソートされるたびに、子行が必要な場所ではなく、いたるところに配置されます。

tablesorter の適切な拡張機能、または tablesorter が並べ替え後も子行を親行と一緒にグループ化できるようにする特定の構成を知っている人はいますか? それとも、他の API を優先して tablesorter をあきらめるか、独自のウィジェットを作成するという醜いプロセスを開始する必要がありますか? 折りたたまれた行を表すためにテーブルの個々の行を非表示にする css ベースのアプローチを避けるべきですか?

4

4 に答える 4

17

テーブルソーターを維持したい場合は、この目的で使用した mod をここで入手できます

それを含めた後、2番目の(展開可能な子)行に「expand-child」クラスを持たせると、tablesorterはその行をその親(前の行)とペアにして保持することを認識します。

于 2008-10-21T14:23:51.650 に答える
11

実際、@AdamBellaireによって言及されたtablesorterのそのmodはtablesorterv2.0.5追加されました。このオプションの使用方法をccsChildRowブログに文書化しました。

また、興味があれば、githubにテーブルソーターのフォークがあります。これには多くの拡張機能と便利なウィジェットがあります:)

于 2012-10-02T12:28:58.837 に答える
1

上記を使用する代わりに、親と子の行にparentId cssクラスとchildId cssクラスを指定し、ウィジェットを使用して再調整するという醜い修正が含まれます。他の誰かがこの問題に遭遇した場合に備えて。これは明らかに最適なコードではありませんが、私にとってはうまくいきます。

$("tbody tr[class^='parent']", table).each(function() {
 $(this).after($("tbody tr[class^='child"+$(this).attr("class").substring(6)+"']", table));
});
于 2008-10-21T16:41:53.540 に答える