Я застрял в проблеме, с которой обычно я бы даже не сталкивался, но в этом случае это кажется большим делом.Cascading comboboxes в Windows Form DataGridView
Прежде всего, во избежание путаницы, хотя я уже написал это в названии, мы говорим о Windows Forms (а не в WPF, ни в веб-приложениях).
У меня есть DataGridView, чей источник данных исходит из свойства навигации объекта (сущность Framework 5, Code First).
Этот datagrid имеет среди других полей «IdEquipment» и «IdConfiguration». Оба столбца имеют тип DataGridViewComboBoxEditingControl. IdEquipment населен управлением BindingSource, что «Оборудование»:
_context.Equipments.Local.ToBindingList();
«Конфигурация» таблица в качестве внешнего ключа «IdEquipment» и выпадающего списка должна как подмножество этой таблицы в каждой строке DataGrid. Чтобы сделать это, после некоторых неудачных тестов и поиска здесь в SO и где-то еще, я нашел this solution, с особым фокусом на dataGridView1_EditingControlShowing
и dataGridView1_CellValueChanged
.
Это, кажется, правильное направление, однако, проблема в том, когда я выбирать источник данных из IdEquipment выпадающего списка (то есть и другой контроль BindingSource привязан к _context.Configurations.Local.ToBindingList();
.
Я где-то читал, что так как я работать с юридическими лицами, я должен позвонить .ToList()
, а не .ToBindingList()
, но даже в этом случае фильтрация не происходит (и в любом случае я думаю, что BindingList все еще хорошо).
Другой вариант я мог бы использовать это воспользуйтесь выбранным значением/сущностью первого combobox и получите свойство navigation.Configuration navigation, но я не имею понятия ho w сделать это с помощью DataGridViewComboBoxEditingControl.
Любая помощь?
Я буду отмечать свой собственный ответ, как принято, если я не получу лучшего в течение 24 часов. –
Я не тщательно проанализировал, что вы написали, но выглядит правильно. В файле DataGridView есть пример того, чего вы хотите, - стоило бы вам проверить, что они рекомендуют, чтобы убедиться, что вы не пропустили никаких трюков. Вот URL загрузки: http: // www.google.co.uk/url?sa=t&rct=j&q=datagridview%20faq&source=web&cd=2&ved=0CD8QFjAB&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2F5%2F6%2F4%2F5646742C-3EB7-48F7- BFB3-CC295D618CF9% 2FDataGridView% 2520FAQ.doc & е = EJg4Ud3CH47ItAaVr4CgAw & USG = AFQjCNHE0C79uGnD14VrXWm07wvfhzPWUQ & BVM = bv.43287494, d.Yms –
Единственной информация о каскадном Наримере точно такой же код, который я связан в моем вопросе, и что вызывает у меня вопросы, поэтому я не» Посмотрите, как это может мне помочь. –