0

Пишу код, который работает с таблицей Master-Details. Мне нужно в коде для таблицы создать Detail view для моего Master View, подскажите как это сделать. Когда работаешь с контролом, детейл создается в момент первого показа, т.е. когда разворачиваешь мастер вью, а первая строчка создается когда тыкаешь мышкой на пустую строку в детейл вьюшке. Вот так я пытаюсь получить детейл из мастера:

GridView detailSourceView = (GridView) masterSourceView.GetDetailView(
sourceMasterRowHandle, masterSourceView.GetRelationIndex(sourceMasterRowHandle, "CommParts"));

Как сделать что бы в этом коде возвращался не null, а новая detail view c нулевым количеством строк?

aepot
  • 49,560
  • А зачем вам это? Вам не должно быть это нужно. Это же winforms? – aepot Nov 12 '21 at 12:42
  • Да это вин форм дев экспресс. На самом деле мне это нужно что бы копировать значения из одной таблицы в другую, но я не знаю как копировать значения детейла потому что детейл грид вью в целевой таблице равна null (что логично). – Titov S.P. Nov 18 '21 at 11:17
  • Храните данные отдельно, не храните их в контролах. Привязывайте данные, чтобы они обновлялись при редактировании из интерфейса, вот пример. – aepot Nov 18 '21 at 11:49
  • В данной задаче я не имею доступа к интерфейсу, это лишь кусок более сложной интеграции в посторонний продукт. Мне нужно именно в standalone коде сделать такой функционал. – Titov S.P. Nov 19 '21 at 08:20
  • Значит вы можете рефлексией туда пробраться, найти биндинг и получить из него источник данных. В любом случае забирать данные из контрола - это сложно и неэффективно, и даже не факт что в данном случае возможно. – aepot Nov 19 '21 at 08:23
  • Грид вью нет, у него нет ни биндинга, ничего. Он равен null. у него соответственно нет никакого биндина или дата соурса. – Titov S.P. Nov 19 '21 at 14:07

0 Answers0