2011-10-06 1 views
1

ユーザーがデータを処理できるようにする必要があります。データは100個のアイテムで、10個の異なるグループとタグ付けされています。テーブルを使ってデータを表示するvsフォームvsタブvsカスタムコントロール

各項目には、名前、数量、表示する必要がある参照などのデータが含まれています。

プログラムの開始時に、プログラムはアイテムを取得し、ユーザーに表示するためにグループに配置する必要があります。各グループには、グループに共通する情報、たとえば名前、項目数も含める必要があります。

グループ化は100%正確ではありません。ユーザーがグループ間でアイテムを移動できるようにする必要があります。これにより、共通情報の項目数が更新されます。

また、ユーザーが最初からアイテムを追加したり、編集したり削除したりできるようにする必要があります。つまり、datagridviewが好きです。

すべてのデータが正しいグループに入ったら、ユーザーはプロセスボタンを押してデータを処理します。

私のクエリは、データをユーザに提示する最善の方法です。

私はC#をかなり新しくしましたが、うまく進んでいます。これは、デスクトップwinformsアプリケーションです。 VS2010 with .net 4.

私はまだドラッグまたはカスタムコントロールをドラッグしていませんが、このプロジェクトを学習体験としても使用したいと思います。

どのソリューションを使用していても、膨大な量の表示スペースが必要になることを認識しています。

Iができます

  • のアイテムのデータグリッドを持つカスタムコントロールを作成します。共通情報のフィールド。必要なだけ多くのカスタムコントロールを繰り返します。

  • データグリッド&フィールドを含むフォームを作成します。子フォームを含むMDIマスターフォームを持つ

  • グループごとに1つのタブでタブ付きフォームを作成します。アイテムをあるタブから別のタブに移動するための「移動」コントロールを持つことができます。

  • 長い形式のリストを作成するには、表を使用します。各グループのヘッダーは各グループの先頭に表示されます。行は下に繰り返します。新しい行を作成すると、テーブルに行が挿入されます。

その他私が見逃したことはありますか?

私は、最善の方法や解決策のいくつかについて、いくつかのアドバイスを期待しています。

私はカスタムコントロールのアイデアが長い形式で好きです。ユーザーは一番上から始まり、下に向かって動きます。アイテムを移動したり編集したりすることができます。

TIA、アンドリュー

EDIT:Salazaarのおかげで、私は明確ではないかもしれないグループとの再読み込み私の意図で実現しています。

これは、私が1つのコントロール/セクションがどのように見えるかのイメージです。請求書は、別の「宛先」から移動することができます。

Sample

答えて

0

いくつかの試行錯誤の後、私は本当に長いリストが使用できないことを発見しました。

私はMDI親ウィンドウのMDI子ウィンドウとタブコントロールを使用するハイブリッドアプローチを採用しました。したがって、親のタブを使ってMDIの子を呼び出すことができます。子ウィンドウをクリックしてフォーカスを設定します。

0

フム、私は単純なソリューションを愛し、私は1を作成しようとしました:私はボタンを使用して上部に

enter image description here

グリッドのコンテンツをフィルタするには、赤はグループが表示されていないことを意味します。 私はこのボタンをチェックボックスよりも先に選択します。なぜなら、彼らはより手頃で作業が速いと思うからです。

以下は、データ用の大きなグリッドである「作業領域」です。最初の列にはグループが含まれ、上記のボタンのように色分けされています。底部では

等の新しい行を保存するか、追加するためのボタンです

グループは、コンボボックスの列(いないスクリーンショットでは、申し訳ありません)に変更されますので、あなたは他のグループの変更を処理することができます保存ボタンが押されたときのデータ。

希望があれば。 建設的な評価が高く評価されています。

+0

私はアイテムが1つのグループにしか存在できないと言及していたはずです。あなたのボタンのアイデアは私のタブ付きのアイデアと似ていますが、たぶんタブの行ではなく2行のボタンを使ってスペースを少なくしています。いくつかのMSアプリケーションのようなタブの本当に面倒な複数の行。私は模擬デモを作成するための努力を本当に感謝します - ありがとう、アンドリュー – andrew

関連する問題