0

DevExpress コントロールを使用する ASP.NET プロジェクトに SOAP Web サービスを使用しています。私がやろうとしているのは、Web サービスからデータを取得し、DevExpress グリッド コントロールにバインドすることです。

IEnumerableWeb サービスを使用すると、コンテナーが取得されます。Web サービスと Devexpress グリッド コントロールの間にある種の動的な関係を作成することは可能ですか? ユーザー入力後に Web サービスに戻る IEnumerable コンテナー内の各レコードで CRUD 操作を使用できるようにしたい [POST]

Webサービスとグリッドコントロールの間の橋渡しをする最良の方法は何ですか[GETとPOSTはグリッドビューを形成します]?

4

1 に答える 1

1

DevExpressコントロールとは別に、CRUD操作を処理するヘルパークラスを作成することをお勧めします。

中間クラスにデータソースとの間のCRUD操作を処理させることにより、表示ロジックをビジネスロジック(MVCスタイル)から分離することをお勧めします。これにより、他のコードを壊すことなく、1つの場所でデータソース(この場合はWebサービス)に変更を加えることができます。フロントエンドを調整しなくても、データソースをWebサービスからSQL Server(またはMySQLなど)に変更することもできます。

DevExpressコントロールへのバインドに関しては、CRUD行イベントを個別に処理する必要があります。これらにはいくつかの優れたと非常に優れたドキュメントがあります。より高度なオプションについては、データバインディング全般をよく読んでおく必要がありますが、通常、ASP.NETページのDevExpressコントロールからのCRUDイベントに対して次のようなことを行います(コードビハインド)。

  1. データレコードを表すオブジェクトをインスタンス化します(既存のレコードの場合は、ヘルパークラスを使用してデータソースからオブジェクトを取得します)。var Record = new Record();またはvar Record = RecordHelper.GetWithId(PrimaryKeyValue);
  2. 必要に応じて、そのオブジェクトに変更を加えます。Record.Name = "New Name";
  3. オブジェクトをヘルパークラスのメソッドに戻します。このメソッドは、データソースに必要な調整を処理します。RecordHelper.Insert(Record);またはRecordHelper.Update(Record);
  4. ページのグリッドを更新します(必要に応じて)

バインディングと更新を処理するサブクラスを作成したり、 Entity Frameworkなどのアプローチを読み始めたりすることもできますが、DevExpressコントロールとデータベース間の相互作用を理解するために、上記のように開始することをお勧めします。


psこのMSDNの記事は、非常に簡単ですが強力な双方向データバインディングの学習を開始するのに適した場所です。これはおそらくあなたが最初に探していたものです。.NET 4.5を使用している場合は、強く型付けされたデータバインディングが提供されるため、作業がさらに簡単になります。

于 2012-09-05T15:33:31.863 に答える