Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > .NET: Базы данных > Работа с данными в проекте WPF Visual Studio с помощью ADO.NET Entity Framework |
Автор: tumanovalex 28.01.14, 16:59 |
Сделал локальную базу данных SQL Compact, на основе ее создал модель ADO.NET, расположил данные на форме и запустил приложение. Внешний вид приложения оказался не тем, как я ожидал: - плоские таблицы без строки со звездочкой для добавления новой строки; - нет строки с кнопками навигации, удаления и сохранения; - не нашел возможности создания binding source для связи двух таблиц. В приложении Windows Forms при размещении на форме DataGrid добалялись BindingSource и BindingNavigator. Подскажите, пожалуйста, как сделать вид таблицы подобной таблице Windows Form и как создать элементы для связи и навигации. MyWpf_01.zip (, : 202) |
Автор: Craft 28.01.14, 17:43 |
Ваша проблема в том что вы пытаетесь рассматривать программирование на WPF с таким подходом как это работает в Windows Forms. Здесь такое не работает. Вторая проблема заключается в том что вы путаете ADO.NET и EF. Это не одно и то же. Если вы хотите все эти контролы использовать в WPF, то таких контролов нет. Есть в .NET 4.0 контрол DataGrid который работает с БД так как нужно. Но он не работает так как Windows Forms. Посмотрите как работает байндинг в WPF, и после того когда поймете что модель разработки под WPF отличается от Windows Forms, тогда у вас что-то выйдет. Испортить программу на WPF гораздо проще чем сделать нормально, если вы не уверены в своих силах, напишите на Windows Forms, так будет вам быстрее и проще. |
Автор: tumanovalex 30.01.14, 15:40 |
Спасибо за ответ. Хотелось бы все-таки сделать в именно в WPF нормальную связь с данными. Попробую найти информацию по этому вопросу. |
Автор: Craft 30.01.14, 18:22 |
Цитата tumanovalex @ Спасибо за ответ. Хотелось бы все-таки сделать в именно в WPF нормальную связь с данными. Попробую найти информацию по этому вопросу. Я вас не обманываю. По умолчанию в WPF есть только DataGrid. Но если у вас есть возможность использовать сторонние контролы, то посмотрите на codeplex. Возможно там что-то сможете найти. Просто у меня фирме используем DevExpress и Telerik, поэтому с выбором контролов проблем не было. |
Автор: tumanovalex 31.01.14, 14:50 |
1. Да я и не думал, что Вы обманываете. Просто думал, что есть обходные пути. 2. Вот как я понял назначение Entity Framework и LinQ: - Entity Framework позволяет преобразовать различные модели данных (работу с данными через SQL, работа с XML и др.) в единую объектную модель; - LinQ позволяет манипулировать этими объектами (единообразно для различных источников данных). Правильно? 3. Решил на время отложить освоение WPF и попробовал создать простой проект в Windows Form. Попробовал сделать простое приложение из двух связанных таблиц. Возникли следующие вопросы: - Как сделать так, чтобы при добавлении контакта и телефона происходила автонумерация ключевого поля? - Как сделать связь один-ко-многим между контактами и телефонами в приложении, т.е. при выборе контакта в таблицы Телефоны показывались бы только телефоны выбранного контакта? - Как сделать так, чтобы при добавлении телефона в связанное поле размещался бы уникальных номер контакта? - Хотелось бы сделать навигатор и для таблицы телефонов и разместить его над этой таблицей. Попробовал из панели элементов расположить на форме навигатор, он прилепился сразу к первому навигатору. Можно ли решить эту задачу? Проект прикрепляю MyBase.zip (, : 190) |