powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / База данных(MsSQL) & ObservableCollection & DataGrid.
4 сообщений из 4, страница 1 из 1
База данных(MsSQL) & ObservableCollection & DataGrid.
    #37763603
V7T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V7T
Гость
Господа, с WPF начал разбираться вот только только. Например, имеется таблица. Суть такова. В примере , используется INotigyProperyChanged, это здорово! Все синхронно обрабатывается. На форуме наталкивался на вопросы, ( например, здесь ) входе обсуждения которых предлагалось вообще отказаться от DataSet, адаптеров в силу как раз таки ObservableCollection..., что они не подходят для WPF. Я честно сказать, также и не увидел в примере хоть какой-нибудь элементарный запрос типо select, и пока не понимаю как там вообще с sqlCommand работать, кстати как?.
Т.е. я прописал вручную простенький запрос на удаления с ипользованием простого коннекта, в базе строка удалилась, но на интерфейсе нуль эмоций. Как тогда отлавливать изменения в самой базе, чтобы ObservCollection и Wpf сам менял значения на экране, ведь не перезагружать DataGrid ~ adapter.Fill(dataSet) каждый раз? А может что-нибудь другое посоветуете, так сказать универсальный вариант?

P.S В примере нет DataGrida, но это дело поправимое. После WinForms все верх дном.
...
Рейтинг: 0 / 0
База данных(MsSQL) & ObservableCollection & DataGrid.
    #37763641
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V7T,

Ну, стоит начать с того, что в winforms тебе, binding все делал за тебя.
Ты говорил гриду удалить строчку, грид говорил это binding, а тот исполнял команду delete сгенерированную по шаблону, на этапе fill.

В первом примере, это приходится делать руками:
Код: c#
1.
2.
3.
_dataDC.Peoples.DeleteOnSubmit( (People)listBox1.SelectedItem); // mark
                // for deletion
                _knownPeople.Remove((People)listBox1.SelectedItem); 


вот этим кодом он и делает, в binding роль которого выполняет linq2sql он отправляет команду на удаление, и удаляет сам руками из коллекции запись.

про inotifypropertychanged он упоменял в том контексте, что у него таблица была без первичного ключа, и мастер студии не прописал этот интерфейс. поэтому ему пришлось прописать его самому.

Так что:) выпрямляй руки :) но это касается больше, данных типа лист из таблицы. или еще каких то простых примеров.

Но если тебе в wpf нужен тот же грид, то -> читай это.
Это собственно то, к чему ты привык в WinForms.
...
Рейтинг: 0 / 0
База данных(MsSQL) & ObservableCollection & DataGrid.
    #37764097
V7T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V7T
Гость
AlexeiKV7T,
Так что:) выпрямляй руки :)

Я выпрямил бы, если бы знал куда копать и что лучше и целесообразней использовать для работы в WPF.))


AlexeiKНо если тебе в wpf нужен тот же грид, то -> читай это.

Как раз таки хочу отвыкнуть, если имеется такая возможность. Ок. О чем тогда шла речь на этом форуме, я ссылку приводил, и что имел ввиду пользователь "Гость" посоветовав вообще отказаться от Dataset (впрочем аргументировал свой ответ "
- двойное увеличение памяти
- снижение скорости заполнения\обновления минимум на порядок
- требует дополнительных и утомительных танцев с бубнами для отслеживания событий в коллекции"), да и сам автор кажись просто всю DataGrid.items обновляет, а это не выгодно при большом объеме данных. Насчет вашей ссылки, я видел ее и еще кучу другую примеров. Но эта у меня просто напросто не запустилась, хотя тулкит скачал и в референс добавил его. Куча ошибок, да и копаться в таком количестве кода утомляет если честно.

Я бы мог спокойно реализовать по старому все. Но если (судя по просторам инета) есть другая возможность - использования в качестве промежуточного, так сказать уровня, ObservebleCollection, то почему бы не воспользоваться им. Или же все таки ObservableCollection в взаимодействии с INotifyPropChanged предназначен, как Вы написали, больше с работой пользоватлеского какого-нибудь класса загнанного в список? С чем он впрочем прекрасно справляется.

Спасибо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
База данных(MsSQL) & ObservableCollection & DataGrid.
    #38449544
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня на старте сложились похожие недопонимания как у топикстартера, в wpf продвигается идея хранения оперативных данных в классах, а не в datatable, соглашусь у классов преимуществ побольше нежели у таблиц, в инете много примеров как работать с уже заполненными данными классами, но почти нет примеров как например в рамках шаблона mvvm работать с простыми базами данных (не ORM), заполнение, обновление и пр. т.е. при самом простом сценарии в winforms datatable передается в dataadapter и собственно данные обновляются - просто и удобно, как это происходит в wpf в рамках mvvm ?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / База данных(MsSQL) & ObservableCollection & DataGrid.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]