お客様のクラスがあり、子オブジェクトがオーダーであるとします。 Winformsアプリケーションでは、メインフォームをの顧客のリストにバインドすることがあります。メインフォームのグリッドには、お客様の注文が表示されます。独自のコレクションオブジェクトとしてBindingSourceのDataMemberに到達する方法はありますか?
すべての基本的なマスター/ディテールwinforms。 CustomerBindingSource.DataSource
を当社の顧客リストに設定することができます。グリッドのDataSource
はでもCustomerBindingSource
で、そのDataMember
は「注文」という文字列です。 Orders
は、Customer
のプロパティです。
実行時に、に到達します。グリッドの内容をオーダーの集まりにします。私の場合(さまざまな理由で)グリッドとその内容にアクセスできるだけで、元の顧客にアクセスすることはできません(Customer.Orders
は参照できません)
私はグリッドの注文リストこの疑似コードのようなものを使用してください:
CType(CType(OrdersGrid.DataSource, BindingSource).DataSource, Orders)
もちろん、これは動作しません。このような古典的なマスター/ディテールフォームでは、グリッドのDataSource
は実際にはCustomerBindingSource
オブジェクトで、注文はDataMember
で、これは文字列としてしかアクセスできません。
届く方法はありますかご注文グリッドからのご注文ですか?
私は必要とするものを正確に見ていると思いますが、私は明日私が自分のものの前に戻ったときにそれを正しく見る必要があります。また、@DavidHallは私が勉強する必要があるあなたの答えの洗練されたものを持っています。 – hawbsl
ありがとうございます。.DataBoundItemは私が探していたものです! – hawbsl