Вопрос по c#, sql – Как создать редактор для просмотра базы данных (с объединениями) в Windows Forms / WPF?

8

Какой самый простой способ создать быстрый редактор для некоторых данных в базе данных в WPF / WinForms, где данные представлены представлением в базе данных SQL Server?

Скажи у меня есть столPerson { id int, name nvarchar(max), GenderID int, CityID int}где GenderID и CityID - это ссылка на таблицы Gender и City. В редакторе Person будет отображаться как текстовое поле для имени, поле со списком для пола (выбор имен полов из таблицы Gender) и так же для столбца города.

Есть ли что-то простое, что я могу сделать, чтобы какой-то элемент управления / код генерировал это? Если я хочу выбрать только данные, WinForms DataGridView или WPF DataGrid могут сгенерировать столбец для каждого свойства и показать строку для каждого объекта в коллекции. -

Существует ли какой-то подобный магический элемент управления, который мог бы сделать это для представления базы данных, если отношения определены внешним ключом?

Мне кажется, что тысячи разработчиков столкнулись с такой проблемой - быстро создать графический интерфейс для редактирования строк базы данных со связями с другими таблицами, поэтому должно быть какое-то общепринятое решение. Или все делают это в коде? Или, если есть инструмент для этого на другом языке, не C #, не Windows Forms - как dBase.

Я считаю, что он также должен поддерживать редактирование при условии, что он "думает" Ваш источник данных доступен для редактирования. Пожалуйста, объясните в своем вопросе, какой источник данных вы предоставляете. Simon Mourier
Вам известно о свойстве DataGridView.AutoGenerateColumns? (msdn.microsoft.com/en-us/library/…). Он делает много вещей автоматически, и вы можете настроить его, переопределяя DataGridView. Simon Mourier
Каков ваш уровень доступа к данным? Если вы используете Entity Framework, вы можете сопоставить представления для выбора и вставить / обновить / удалить с сохраненными процедурами, которые позволяют вам контролировать, как обновляются базовые таблицы. Agent_9191
Да, и он отлично работает для просмотра данных, но это не решает проблему для редактирования данных Axarydax
К вашему сведению, сам SQL Server не позволяет выполнять UPDATE для представления, если он выбирает данные из более чем одной таблицы. Alex

Ваш Ответ

2   ответа
2

что известно как строительные леса в веб-разработке. Скаффолдинг - это способ автоматического создания пользовательских интерфейсов для каждой таблицы в базе данных. Scaffolding позволяет создавать функциональный интерфейс для просмотра и редактирования данных на основе схемы данных. Вот несколько ресурсов для лесов WPF.

There is a WPF scaffolding article on the Code Project website: WPF CRUD Generator (Scaffolding) There is also a Codeplex project that could be helpful: WPF Scaffolder

Наслаждайтесь!

0

ерации пользовательского интерфейса, который будет представлять выбранные вами таблицы / представления базы данных, в том числе автоматически генерируемые вами возможности CRUD.

Он даже правильно отображает таблицы поиска и автоматически отображает выпадающие списки.

http://msdn.microsoft.com/en-us/library/ee845452(v=vs.100).aspx

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