Я начинающий программист и занимаюсь этим больше как хобби, чем карьера.В связи с этим я составляю заявку на создание счетов для компании, в которой я работаю.У меня есть работники по выставлению счетов, которые принимают данные от наших поставщиков, сопоставляют клиентов, продукты и тарифы и т. Д., А также выставляют счета.Сейчас я пытаюсь украсить его и разрешить редактирование информации о клиенте и оценке.Частично это означает, что у меня есть несколько таблиц, которые содержат значения поиска, например, ставку НДС, наценку, пользовательские ставки.
Я пишу приложение в WPF, C #, .Net 4. Я также пытаюсь придерживаться шаблона MVVM для разделения слоев.
Я создал универсальный VeiwModelназывается EditLookupTableViewModel, который обрабатывает общение со слоем данных и все остальное.Моя проблема с видом.Я хотел бы создать единое представление, которое может обрабатывать все типы данных, которые я разрешаю в вышеупомянутом классе.Вот что я застрял:
Я хотел бы представить данные в виде списка текущих значений в таблице базы данных и позволить людям редактировать эти значения или добавлять новые значения.Различные типы данных основаны на таблицах в базе данных SQL, доступ к которым осуществляется через Entity Framework 4. Не все таблицы имеют одинаковое количество или тип столбцов.
Если я представляю данные в виде списка с использованиемЭлемент управления DataGrid, как изменить типы столбцов в зависимости от отображаемого типа данных?
Я искал на разных сайтах, но не нашел ничего подходящего.
Я думал, что смогу использовать DataTemplate, а затем использовать DataTemplateSelector, но я не вижулюбой способ создания DataTemplate для DataGrid.
Тогда я подумал, что буду использовать ContentPresenter, но не могу понять, как вы выберете шаблон.
В идеале я хотел бы использовать какой-то og TemplateSelector, так как я мог бы затем контролироватьшаблон из кода в виде нескольких таблиц имеет одинаковую структуру, и поэтому было бы здорово повторно использовать шаблон для тех таблиц, которые одинаковы.
Любая помощь будет принята с благодарностью, так как я уверен, что должна бытьболее элегантное решение, чем создание нескольких представлений.
Спасибо
Саймон