2011-03-17 8 views
1

リストlstAccountを返すwcfサービスがあります。 winformsアプリケーションのプレゼンテーションレイヤークライアントは、このサービスに接続するためにプロキシオブジェクトを使用しています。プロキシでwcfレスポンスからドロップダウンリストへのコレクションのバインド

は、Accountクラスは、このように生成されます:

[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.2152")] 
    [System.SerializableAttribute()] 
    [System.Diagnostics.DebuggerStepThroughAttribute()] 
    [System.ComponentModel.DesignerCategoryAttribute("code")] 
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.datacontract.org/2004/07/Test.Common")] 
    public partial class Account {} 

私は、[データソースのプロパティを設定することで]私のプレゼンテーション層でフォーム上のドロップダウンリストに、このlstAccountをバインドすると、ドロップダウンリストには、ちょうど示しアカウント名を表示するのではなく、クラス名 "アカウント"。

this.cblExistingAccounts.DataSource = lstAccount; 
this.cblExistingAccounts.DisplayMember = "Name"; 

ここでは何が欠けていますか?

ありがとうございました。

+0

を?クライアントは最初に私がここに表示されないプロキシメソッドを呼び出す必要があります... – sajoshi

+0

はい、私はサービスからレコードを取得します。簡潔にするために、私はここにそのコードを追加しませんでした。 – Jimmy

答えて

1

サービス側のアカウントクラスのプロパティがDataMember属性で修飾されていることを確認してください。

編集:プロキシも最新であることを確認し、更新して問題が解決するかどうか確認してください。

+0

私はsvcUtilユーティリティを持っていません。私のマシンのDatasvcUtil.exeファイルです。代わりにプロキシを生成するために使用できますか? – Jimmy

+0

Visual Studioの「サービス参照」機能を使用してプロキシを作成した場合は、右クリックして「サービス参照の更新」を選択することができます。 –

+0

サーバー側でDataMember属性を追加しました。この属性を追加した後、プロキシオブジェクトにどのような違いが現れるかは分かりますか?ありがとうございます。 – Jimmy

0

結合のように変更します。あなたはwcftestclientにWebMethod属性をテストレコードを取得しないとき

this.cblExistingAccounts.DataSource = lstAccount; 
this.cblExistingAccounts.DataTextField = "Name"; 
+0

ご回答ありがとうございますが、this.cblExistingAccounts.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;でSystem.Windows.Forms.ComboBoxを使用しています;これにはDataTextFieldプロパティがありません。 – Jimmy

関連する問題