Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
20.04.2012, 17:02
|
|||
---|---|---|---|
|
|||
База данных(MsSQL) & ObservableCollection & DataGrid. |
|||
#18+
Господа, с WPF начал разбираться вот только только. Например, имеется таблица. Суть такова. В примере , используется INotigyProperyChanged, это здорово! Все синхронно обрабатывается. На форуме наталкивался на вопросы, ( например, здесь ) входе обсуждения которых предлагалось вообще отказаться от DataSet, адаптеров в силу как раз таки ObservableCollection..., что они не подходят для WPF. Я честно сказать, также и не увидел в примере хоть какой-нибудь элементарный запрос типо select, и пока не понимаю как там вообще с sqlCommand работать, кстати как?. Т.е. я прописал вручную простенький запрос на удаления с ипользованием простого коннекта, в базе строка удалилась, но на интерфейсе нуль эмоций. Как тогда отлавливать изменения в самой базе, чтобы ObservCollection и Wpf сам менял значения на экране, ведь не перезагружать DataGrid ~ adapter.Fill(dataSet) каждый раз? А может что-нибудь другое посоветуете, так сказать универсальный вариант? P.S В примере нет DataGrida, но это дело поправимое. После WinForms все верх дном. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.04.2012, 17:18
|
|||
---|---|---|---|
База данных(MsSQL) & ObservableCollection & DataGrid. |
|||
#18+
V7T, Ну, стоит начать с того, что в winforms тебе, binding все делал за тебя. Ты говорил гриду удалить строчку, грид говорил это binding, а тот исполнял команду delete сгенерированную по шаблону, на этапе fill. В первом примере, это приходится делать руками: Код: c# 1. 2. 3.
вот этим кодом он и делает, в binding роль которого выполняет linq2sql он отправляет команду на удаление, и удаляет сам руками из коллекции запись. про inotifypropertychanged он упоменял в том контексте, что у него таблица была без первичного ключа, и мастер студии не прописал этот интерфейс. поэтому ему пришлось прописать его самому. Так что:) выпрямляй руки :) но это касается больше, данных типа лист из таблицы. или еще каких то простых примеров. Но если тебе в wpf нужен тот же грид, то -> читай это. Это собственно то, к чему ты привык в WinForms. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.04.2012, 23:23
|
|||
---|---|---|---|
|
|||
База данных(MsSQL) & ObservableCollection & DataGrid. |
|||
#18+
AlexeiKV7T, Так что:) выпрямляй руки :) Я выпрямил бы, если бы знал куда копать и что лучше и целесообразней использовать для работы в WPF.)) AlexeiKНо если тебе в wpf нужен тот же грид, то -> читай это. Как раз таки хочу отвыкнуть, если имеется такая возможность. Ок. О чем тогда шла речь на этом форуме, я ссылку приводил, и что имел ввиду пользователь "Гость" посоветовав вообще отказаться от Dataset (впрочем аргументировал свой ответ " - двойное увеличение памяти - снижение скорости заполнения\обновления минимум на порядок - требует дополнительных и утомительных танцев с бубнами для отслеживания событий в коллекции"), да и сам автор кажись просто всю DataGrid.items обновляет, а это не выгодно при большом объеме данных. Насчет вашей ссылки, я видел ее и еще кучу другую примеров. Но эта у меня просто напросто не запустилась, хотя тулкит скачал и в референс добавил его. Куча ошибок, да и копаться в таком количестве кода утомляет если честно. Я бы мог спокойно реализовать по старому все. Но если (судя по просторам инета) есть другая возможность - использования в качестве промежуточного, так сказать уровня, ObservebleCollection, то почему бы не воспользоваться им. Или же все таки ObservableCollection в взаимодействии с INotifyPropChanged предназначен, как Вы написали, больше с работой пользоватлеского какого-нибудь класса загнанного в список? С чем он впрочем прекрасно справляется. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.11.2013, 11:39
|
|||
---|---|---|---|
|
|||
База данных(MsSQL) & ObservableCollection & DataGrid. |
|||
#18+
У меня на старте сложились похожие недопонимания как у топикстартера, в wpf продвигается идея хранения оперативных данных в классах, а не в datatable, соглашусь у классов преимуществ побольше нежели у таблиц, в инете много примеров как работать с уже заполненными данными классами, но почти нет примеров как например в рамках шаблона mvvm работать с простыми базами данных (не ORM), заполнение, обновление и пр. т.е. при самом простом сценарии в winforms datatable передается в dataadapter и собственно данные обновляются - просто и удобно, как это происходит в wpf в рамках mvvm ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=21&mobile=1&tid=1441266]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
84ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 168ms |
0 / 0 |