Скажем, у нас есть класс Customer , у которого есть дочерний объект Orders . В нашем приложении Winforms мы можем привязать основную форму к списку Customers . Сетка в главной форме перечисляет заказов клиента .
Это все основные формы win / master. Мы можем установить CustomerBindingSource.DataSource
в наш список клиентов. Значение DataSource
сетки равно , а также CustomerBindingSource
, а DataMember
- это строка "Orders". Orders
является собственностью Customer
.
Во время выполнения я хочу, чтобы достиг содержимого сетки как набора заказов. В моем случае (по разным причинам) у меня есть доступ только к сетке и ее содержимому, у меня нет доступа к первоначальному клиенту (поэтому я не могу ссылаться на Customer.Orders
)
Я бы хотел получить список заказов в сетке, используя что-то вроде этого псевдокода:
CType(CType(OrdersGrid.DataSource, BindingSource).DataSource, Orders)
Однако, конечно, это не сработает. В классической форме Master / Detail такого типа DataSource
Сетки на самом деле является CustomerBindingSource
объектом, а ордера - просто DataMember
, к которым я могу получить доступ только в виде строки.
Есть ли какой-нибудь способ достичь этой коллекции Orders через сетку?