0
基本的な質問です。これは1日完全に検索しました。ネストされたプロパティにコントロールをバインドする
My AccountオブジェクトにはKeyTypeオブジェクトがあり、NameプロパティはLinqからSQLに生成されます。
私のBindingSource:
var result = from account in Schema.Accounts select account as Account;
Data = new ComplexBindingList<Account>(result.ToList<Account>());
DataSource = Data;
ResetBindings(true);
マイComplexBindingListはブラッドリー・スミスによってブログから借りたが、このインタフェースを持っている:
public class ComplexBindingList<T> : List<T>, ITypedList
これは私のDataGridView上で動作します:
Columns.Add(CreateColumn("KeyType.Name", "Key Type");
データの罰金このコードは例外の直前で動作するため、
var v = account.KeyType.Name;
これはTextBoxでは機能しません。私は例外を取得「『EPM.BODA.KeyType』オブジェクトのプロパティアクセサ 『名前』を以下の例外がスローされました: 『オブジェクトは、ターゲット・タイプと一致していません。』」
// Controller is my BindingSource
Binding binding = EditField.DataBindings.Add("Text", Controller, "KeyType.Name");
が、私は一般的な印象その反射ISN」を持っています適切に働いていますが、ギャップを埋める方法の詳細を見つけることはできません。助けを歓迎します。
ここでアカウントを初期化しましたか?あなたは結果を意味しません.KeyType.Name? –