次の問題があります。ユーザーがデータベースに「マッピング」を挿入/編集するためのインターフェースを提供する必要があります。
マッピングはそのようなレコードです:
[フィールドA、フィールドB、フィールドC] --maps to-> [フィールドX、フィールドY、フィールドZ]
現在、私はそのようなグリッドを使用しています:
1 Field A, Field B, Field C, Field X, Field Y, Field Z
2 Field A, Field B, Field C, Field X, Field Y, Field Z
3 Field A, Field B, Field C, Field X, Field Y, Field Z
ただし、私は可能な限り最高のユーザーインターフェイスを使用しているとは思いません。
マッピング行は、1,000〜10,000行の範囲にすることができます。アプリケーションはWPFアプリケーションです。
この種のデータを表示および編集するためのより使いやすい方法はありますか?
これをあなたの状況に合わせる:
マッピングされていないアイテムの検索
ユーザーが気に入った機能の1つは、使用可能なABC/XYZのコンパクトなディスプレイを備えていたことです。 1000秒の長さのリストではなく、割り当てられた(または割り当てられていない)アイテムの範囲を表示することで、リストを圧縮できました。
できますか?
おそらくできます。 凝縮は必須です。 1,000行は、要約情報なしでは管理不可能に近くなります。ページあたり100で10,000までページング-いいえ。フィールドの1つが数値の場合、そのフィールドに範囲を表示できます。 [Alfred] [Barry] [1 to 97]がすべて使用されている場合、それを言うために97行は必要ありません。それは本質的に私がやったことです。あなたの質問から、それはあなたには不可能だと思います。その場合、凝縮する別の方法があります。
ツリーテーブルを使用した圧縮
A、B、Cの3つのレベルを持つツリーテーブルを使用して圧縮できます(X、Y、Z、nの2番目のテーブルも同じです)。テーブル部分には、要約情報が表示されます。 [Alfred] [anything] [anything]には579があります179の組み合わせは無料です。ノード[Alfred] [Bertie] [Charlie]までドリルダウンすると、未使用の場合は「未使用」、その要素にマップされている場合は「[Xavier] [Yoda] [Zebra]にマップ」と表示されることがあります。 。
X、Y、Z、nの「n」はタイプミスではありませんでした。そのツリーテーブルでは、[Xavier] [Yoda] [Zebra]は「21回使用」と言うかもしれません。そのノードを展開すると、21個のサブノードに実際のABCマッピングが提供されます。
マッピングの作成または解除
これで、マッピングの状態を示すテーブルが作成されました。必要なのは、マッピングを追加または削除する方法だけです。
そのためには、6つのフィールドA、B、C-> X、Y、Zが必要です。 Connect
最初のパスでは、ユーザーにそれらの値を入力させることができます。後の改良では、2つのテーブルをクリックしてABCまたはXYZに入力できます。このデータエントリを実際にテーブルで実行しようとはしません。
合計
間違いのないように-使いやすいマッピングテーブルを作成するのは大変な作業です。また、非常にやりがいがあります。ユーザーがあまり良くないマッピングテーブルインターフェイスを頻繁に使用している場合は、改良されたもので喜ばれます。
基本的にツリーがあり、ノードはXYZであり、それぞれがいくつかのABCに関連付けられているようです。このようなものはどうですか?
新しいノードとリーフを作成するさまざまな方法を試してみることができます。これはニーズに合わないかもしれませんが、ツリーのようなレイアウトは物事を大幅に簡略化すると思います。