web-dev-qa-db-ja.com

「マッピング」テーブルのユーザーインターフェイス

次の問題があります。ユーザーがデータベースに「マッピング」を挿入/編集するためのインターフェースを提供する必要があります。

マッピングはそのようなレコードです:

[フィールド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

ただし、私は可能な限り最高のユーザーインターフェイスを使用しているとは思いません。

  • フィールドが2つに分割されていることを明確に示すものはありません。
  • マッピングがcompleteであるかどうかを確認することは困難です(つまり、可能なすべてのA、B、Cの組み合わせが何かにマッピングされている場合)
  • レコードは行単位ではなく一度に保存されるため(要件です)、エラーが発生した場合に何がうまくいかなかったかを直感的に示すことは非常に困難です(複数の行が原因で、重複したマッピングなどでエラーが発生する場合があります)。
  • 検証エラーを表示するのは難しい(たとえば、intフィールドに文字列を入力する人)

マッピング行は、1,000〜10,000行の範囲にすることができます。アプリケーションはWPFアプリケーションです。

この種のデータを表示および編集するためのより使いやすい方法はありますか?

5
Sklivvz
  • ATMスイッチで仮想チャネルをマッピングするために、私は同様のことをしなければなりませんでした。

これをあなたの状況に合わせる:

  • Check-as-you-go:シャドウテーブルを操作することにより、すべての行が一緒に変更されるという制限を取り除きます。これは、警告とエラーメッセージをタイムリーにかつ意味のあるものにする唯一の健全な方法です。すべて問題なければ、ユーザーは変更をコミットできます。
  • 2つのテーブル:私の経験では、ABCでソートされたマッピングとXYZでソートされたマッピングの両方を同じ画面に表示する必要があります。 2つのオーダー間を行き来するのはよくありません。見当識障害です。

マッピングされていないアイテムの検索

ユーザーが気に入った機能の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に入力できます。このデータエントリを実際にテーブルで実行しようとはしません。


合計

間違いのないように-使いやすいマッピングテーブルを作成するのは大変な作業です。また、非常にやりがいがあります。ユーザーがあまり良くないマッピングテーブルインターフェイスを頻繁に使用している場合は、改良されたもので喜ばれます。

6
James Crook

基本的にツリーがあり、ノードはXYZであり、それぞれがいくつかのABCに関連付けられているようです。このようなものはどうですか?

mapping

新しいノードとリーフを作成するさまざまな方法を試してみることができます。これはニーズに合わないかもしれませんが、ツリーのようなレイアウトは物事を大幅に簡略化すると思います。

1