Мастер-деталь\элемент дизайна сломать
Я совершенно запутался в том, что должно быть простым.
У меня есть отношение Master/Detail/Detail между 3 таблицами, master-это набор элементов управления и плавно работает с первой деталью, эта деталь является мастером второй детали.
Мастер --&ГТ; деталь ("мастер") Д1 ---&ГТ; деталь Д2
Д1 привязывается к datagridview и Д2 также связанные с элементом управления datagridview,
Обычный сценарий при выборе строки из главного представления DataGridView,
подробное представление DataGridView заполняется столбцами, связанными с выбранной строкой,
и это работает так хорошо, но если у меня есть более одной строки в сетке данных mater и я пытаюсь изменить выделение между ними, дизайн второго gridview ломается, и все строки исчезают, а при попытке нажать кнопку Сохранить я получаю это исключение "индекс должен быть неотрицательным".
вы можете найти изображение для того, что я имею в виду здесь
Я использую .net 4.6 и nettires с генератором codesmith .
Любые предложения !!!
Что я уже пробовал:
Function For binding public void SetActiveBindingByActiveControl(Control ctrl) { BindingSource bsSource = null; if (ctrl.GetType() == typeof(AdvancedDataGridView)) bsSource = (BindingSource)((AdvancedDataGridView)ctrl).DataSource; else if (ctrl.GetType() == typeof(SmartDataGidView)) bsSource = (BindingSource)((SmartDataGidView)ctrl).DataSource; else { PropertyInfo pi = ctrl.GetType().GetProperty("DataBindings"); if (pi != null) { ControlBindingsCollection coll = (ControlBindingsCollection)pi.GetValue(ctrl, null); if (coll.Count > 0) bsSource = (BindingSource)coll[0].DataSource; } } SetActiveBindingByBindingSource(bsSource); }