1

XMLファイルからデータを読み取る小さなHTML/JavaScriptベースのミニWebアプリを作成しました。

次に、このXMLファイル用のオフラインWinFormsエディターを作成する必要があります。XMLファイルを使用して自分のやり方でデータを保存することは理想からはほど遠いことを十分に認識していますが、要件は、Webサイトの静的ファイルのみを使用できるようにすることです。ただし、XMLファイルは必要に応じて置き換えることができます。が更新されます。

ミニウェブアプリを使用すると、リモートカースターターを購入している顧客は、車両のメーカー、モデル、年式を選択し、インストールに必要な追加コンポーネントのリストを表示できます。<vehicle>このデータは、コンポーネントの各タイプの属性だけでなく、製造元、モデル、年を表す属性を持つ要素としてXMLで表されます。

エディターの要件は次のとおりです。

  • 車両レコードをグリッドに表示する
  • すでに入力されている値に基づいて、各列でオートコンプリートを許可する
  • 列の任意の組み合わせに基づく行フィルタリングを許可する

私は次のことを試しました:

  • DataGridViewとdatabindingを使用しますが、databinding / datasets / etcは、データソースとしてXMLファイルを簡単に使用したくないようです。これと数時間格闘して諦めた
  • 独自のカスタム「行」コントロールを作成し、各要素のインスタンスをPanelコントロールに挿入します。数百台の車両記録があるので、これはパフォーマンス上の理由から非スターターです。

私は一般的にWebの人なので、このWinFormsのものは私にとって未知の領域です。このエディターの要件を達成するための最も簡単な方法は何ですか?

4

2 に答える 2

1

各要素を表すために多数の小さな UserControl を組み込んだ UserControl を作成するのではなく、要素を視覚的に表すためのロジックを、データを単一のグラフィックス サーフェスにレンダリングする役割を持つクラスとしてカプセル化するのが最も健全な方法だと思います (ロジックを UserControls にカプセル化します)。

すでに「行」コントロールを作成しているので (編集機能を備えていると思います)、そのインスタンスを作成し、ユーザーがクリックしたときにコントロール上に「フローティング」することで、これを利用できます。

やや似た質問に対するこの以前の回答:

データを表示するためのコントロールの作成にヘルプが必要

基本原理を示します。このアプローチを使用すると、一度に 2 つのコントロールのみをインスタンス化して、非常に大きな XML ドキュメントを編集できます。

于 2009-09-27T01:28:46.157 に答える
0

XML ファイルをメモリに読み込み、その XML ファイルに基づいて型指定されたデータセットを作成することを検討できます。XML ファイルの形式を制御できる場合は、型指定されたデータセットから開始し、それを XML にシリアル化して構造テンプレートを取得し、それ以降は逆の方法で作業できます... XML ファイルを編集し、次の方法でデータセットをロードします。 XML ファイルからのデシリアライズ。

この記事では、型指定されたデータセットと DataGridView について説明し、入力をフィルター処理する方法の優れた例も示します。

最後に、無料のKrypton Toolkitをご覧ください。それらのコントロールは、通常、それらが置き換える同等のすぐに使える Winforms コントロールよりも強力です。DataGridView にオートコンプリートが実装されている可能性があると思います (TextBox には確かに実装されています)。これを使用すると、実際に無料のツールキットと商用ツールの両方をダウンロードできます。完全な製品を購入する予定がない限り、ツールキット DLL のみを参照するようにしてください。

于 2009-09-26T23:03:24.500 に答える