Задать вопрос
@Koolerz
В поисках себя

Какой компонент выбрать для работы с классами модели EF?

Здравствуйте!
Сейчас разрабатываю несложное приложение, которое должно работать с БД. Основной функционал (операции CRUD) уже готовы. Теперь хочу найти удобный способ вывода данных из БД в интерфейс программы. Попробовал использовать DataGrid и на примере одной таблицы выбрал в качестве источника DbSet<> соответствующего класса. Плюс этого компонента в том, что он позволяет легко менять данные, добавлять и удалять их. Но вопрос вот в чём: например, между двумя таблицами T1 и T2 существует связь "один-ко-многим" с соответствующим внешним ключом T2_id, и при добавлении новой строки в таблицу приходится вручную вписывать T2_id. Так вот, хочется узнать, можно ли как-нибудь в ячейках T2_id "впихнуть" ComboBox, в котором можно было бы выбрать один вариант из доступных в таблице T2.

Мысли сейчас путаются и я объяснил как смог на данный момент) Если же какие-то моменты непонятны, я позже попробую описать ситуацию картинками, как это вижу я.
  • Вопрос задан
  • 259 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Shwed_Berlin
@Shwed_Berlin
.net Software Developer
В принципе DataGrid может иметь в ячейках любые другие контроллы, в том числе и ComboBox.
Нужно только байндить не целиком DataSet, а вручную указывать какие столбцы из него брать (AutoGenerateColumns="False") и для столбца ID брать DataGridComboBoxColumn или DataGridTemplateColumn.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
stasuss
@stasuss
быдлокодер со стажем
у telerik ничо такие компоненты. devexpress не рекомендую.
это я не рекламирую, а там все довольно легко настраивать просто)
Ответ написан
yarosroman
@yarosroman Куратор тега C#
C# the best
А у вас в модели зависимости есть?
те в T1 должно быть свойство public ICollection T2{get; set;}

а в T2 должно быть public T1 T1 {get; set;}

главное настроить биндинги и доставать данные context.T1Set.Include("T2")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы