6

fogbugz がどのようにテーブルを並べ替えているかを見たことがありますか? クリックして列を並べ替えると、実際にはテーブルが、各カテゴリの情報を持つ多くの小さなテーブルに分割されます。

誰かがこれを行う方法を知っているかどうか疑問に思っていますか?

この機能の実装を検討しています。

ケースのページを見て並べ替えると、私の言いたいことがわかります。

どんな助けでも素晴らしいでしょう!

まだこれを理解していません。

編集: @Peter、並べ替えのためにヘッダー タイトルがクリックされるたびにポストバックしてテーブルを再作成したくありません。また、それらがこれに対する一般的な解決策であるかどうかも知りたいです。ヘッダーをクリックしてソートすると、javascript を使用して「1 つの」テーブルが多数に分割され、ソートされたテーブルを表示するためのはるかに優れた方法であるため、それらがこれに対する一般的な解決策であるかどうかを知りたいと思います。

編集: javascript ソーターが必要ですが、fogbugz の実装をよく見ると、別の結果が得られます...

4

5 に答える 5

8

そうです、Rich はそれを理解しました (私はずっと前にこの機能を FogBugz にコーディングしました)。

クライアントでこれを行う必要がある場合は、データを並べ替える以外に選択肢がなく、テーブル行ごとに生成するテーブル行を反復処理し、新しい並べ替え値にヒットするたびに、適切な情報を使用して新しいスレッドを作成します。

正直に言うと、この jQuery プラグイン ( http://tablesorter.com/docs/ ) をかなりクールに変更すると、彼らの多くの作業を活用できるようになります。時間をかけて一般的な解決策を作成する場合は、コミュニティがアクセスできるようにすることもできます。

于 2009-02-12T21:00:10.010 に答える
2

Fog Creek がこれをどのように達成するかを具体的に知らなくても、テーブル ヘッダーを出力してから、リストを繰り返し処理し、グループ値が変更されるたびにフッターと新しいヘッダーを出力する方法をとります。

于 2009-02-10T18:24:40.747 に答える
1

どのような答えが期待できるかわかりません。このための SQL クエリは、選択した列の順序付けを使用するだけで、UI はこの値が変更されるたびに新しいテーブルを開始します。

これは、[優先度] 列をクリックした後の、この並べ替えを使用した FogBugz のスクリーンショットです。

http://img297.imageshack.us/img297/6974/76755363ee3.png

もちろん、新しいテーブルを開始しても、すべての列 (タイトル、ケース番号) に対して意味があるわけではありません。


編集:私の理解が正しければ、新しいページをロードせずにブラウザーでこれを行う方法を探しています。この場合、少なくともサーバー側のサポートをお勧めします。これにより、データが正しい順序で返され、サブテーブル用に適切に構造化されます (xml/json/使用するものは何でも)。JavaScript はこのデータを使用してテーブルを再作成します。より多くの web-ui 経験を持つ他の人がより良い答えを提供してくれると確信しています。

于 2009-01-22T22:12:24.093 に答える
0

関連するかどうかはわかりませんが、クエリの結果を SQL の一時テーブルに格納し、current-row-less-one を参照して、Category が変更されたかどうかを確認し、resulset に示します。

場合によっては、次を含む列でこれを「示します」

<tr><td colspan=999>Category Heading</td></tr>

これにより、Web ページはそれを作成中のテーブルに「注入」することができます。

SELECT Col1, Col2, ...,
       [CATEGORY] = CASE WHEN T1.CategoryCol <> COALESCE(T2.CategoryCol, '')
           THEN '<tr><td colspan=999>' + T1.CategoryCol + '</td></tr>'
           ELSE ''
           END
FROM #MyTempTable AS T1
     LEFT OUTER JOIN #MyTempTable AS T2
         ON T2.ID = T1.ID - 1
于 2009-02-13T11:22:00.017 に答える
0

Kryogenix の Sortable Tables スクリプトを使用して、いくつかの良い結果を得ました。

于 2009-02-03T22:49:38.083 に答える