1

DynamicObject クラスを継承するオブジェクトのコレクションがいくつかありますが、すべて BindingSource および BindingNavigator でうまく機能しますが、DatagridView に動的プロパティが表示されません。

オブジェクトは DynamicObject を継承し、TrySetMember、TryGetMethod、GetDynamicMemberNames をオーバーライドするだけで十分だと思います。

また、バインディングの更新用に INotifyPropertyChanged インターフェイスも実装します。

私は何かを忘れていますか?またはそれは可能ですか?

私が今持っているものは次のとおりです。

protected BindingList<Users> _Users;
_Users = _Ctl.GetAll();

BndSrc.DataSource = _Users;

BndNav.BindingSource = BndSrc;

Grid.DataSource = BndSrc;

注: _Ctl はすべてのユーザーを提供するオブジェクトです。Users クラスは DynamicObject を継承し、Username、Password、Name などのプロパティが動的に定義されています。すべて正常に機能していますが、データグリッドには動的プロパティが表示されません。

4

1 に答える 1

1

動的 (DynamicObject) オブジェクトへのデータバインディングが壊れており、MS はそれを「修正しない」と解決しました。

https://connect.microsoft.com/VisualStudio/feedback/details/522119/databinding-to-dynamic-objects-is-broken

于 2013-09-06T21:01:36.603 に答える