ユーザーがテーブルの順序を定義できるようにする最善の方法は?
SQL Server 2005 と DevExpress コントロールを使用しています。
以下を含むテーブルがあります。
- プロセスA
- プロセスB
- プロセスC
- レポートA
- レポートB
- レポートC
ユーザーが順序を好きなように変更できるようにしたいと考えています。
以下に一例を示します。
- プロセスC
- プロセスA
- プロセスB
- レポートB
- レポートA
- レポートC
これに対応するために、アプリケーションによって維持されるテーブルに DisplayOrder (INT) フィールドを追加しました。
INT フィールドを使用することは、ユーザー定義の注文に最適なソリューションですか?
これを達成するための他の方法はありますか?
その理由は、現在のアプリケーションでは、行を下 (または上) に移動するのに約 1 秒かかるためです。コードをクラックして、なぜそんなに時間がかかるのかを確認しようとしています。スタック オーバーフローの達人に何か良いアイデアがあれば、その時点で実装するかもしれません。
興味がある方のために、このアプリケーションで DisplayOrder を編集できると私が信じている方法を以下に示します。
- テーブルを GridView に読み込む
- 行を選択
- 下へ移動ボタンをクリックする(上へ移動ボタンもあります)
- Click イベントは、現在の行の DisplayOrder をその下の行と交換します。
- 両方のレコードへの変更がデータベースに書き戻されます
- これには、クリックごとに約 1 秒かかります (つまり、10 クリックは 10 秒に相当します)。