![]() |
Модераторы: gambit, Kefir, Partizan |
![]() ![]() ![]() |
|
lomaster |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 27.5.2012 Репутация: 1 Всего: 2 |
Ктож редактирует "боевые" данные? так нельзя
|
|||
|
||||
leon78 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 10.10.2006 Репутация: нет Всего: нет |
Т.е. надо держать 2 копии коллекции - 1 "боевая", 2я для DataGrid. И при нажатии кнопки "Save" копировать в боевую, а при "Cancel" - из боевой? А попроще варианта нет? Может, можно настроить биндинг, чтобы копирование происходило в заданном направлении по команде, а не постоянно?
|
|||
|
||||
lomaster |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 27.5.2012 Репутация: 1 Всего: 2 |
Я же раньше писал - "посмотрите возможности биндинга".
Есть такое свойство UpdateSourceTrigger, установите его в Explicit. Это значит что вы теперьотвечаете за то когда данные попадут в источник. А дальше что-то типа такого:
Хотя мне этот вариант не очень... |
|||
|
||||
leon78 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 10.10.2006 Репутация: нет Всего: нет |
Пытаюсь разобраться как раз с этим Explicit.
Стоит он для всех колонок, но данные из DataGrid все равно попадают в источник Добавлено через 9 минут и 7 секунд Во вложении проект. Точка останова на кнопке "Cancel". Видно, что данные в коллекции обновляются сразу после изменения в DataGrid, не смотря на UpdateSourceTrigger= Explicit Присоединённый файл ( Кол-во скачиваний: 5 ) ![]() |
|||
|
||||
lomaster |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 27.5.2012 Репутация: 1 Всего: 2 |
Зачем столько колонок?
Их количество только указывает на то, что вы что-то не то делаете.. ![]() |
|||
|
||||
leon78 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 10.10.2006 Репутация: нет Всего: нет |
Количество колонок соответсвует количеству параметров, их не уменьшишь.
Для "Cancel" написал такой код:
Но binding = null, не работает. Не могу понять, что ставить вместо TextBox.TextProperty ? |
|||
|
||||
leon78 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 10.10.2006 Репутация: нет Всего: нет |
Ничего не получается :(
![]() |
|||
|
||||
erm0l0v |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 11.1.2011 Репутация: нет Всего: 1 |
Передайте свой массив в DataGrid.ItemSource и все будет отображаться нормально и при большем количестве строк)))
|
|||
|
||||
leon78 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 10.10.2006 Репутация: нет Всего: нет |
У меня сейчас так и привязано. Не могу разобраться, как сделать копирование из DataGrid в Source и наоборот по командам, а не постоянно.
UpdateSourceTrigger= Explicit не помогает |
|||
|
||||
erm0l0v |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 11.1.2011 Репутация: нет Всего: 1 |
В смысле копирование. Коллекция одна просто она же используется и в коде и она же используется для отображения в интерфейсе. Используйте ObserverCollection для отслеживания изменений коллекции.
|
|||
|
||||
leon78 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 10.10.2006 Репутация: нет Всего: нет |
Коллекция используется для работы в другом потоке.
Надо, чтобы запись из DataGrid в коллекцию происходила по кнопке "Save". А при нажатии "Cancel" происходило копирование из коллекции в DataGrid для восстановления состояния, предшествующего редактированию. |
|||
|
||||
erm0l0v |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 11.1.2011 Репутация: нет Всего: 1 |
В таком случае вам в модели нужно заменить коллекцию и сгенерироворь событие PropertyChanged. Тогда в представлении коллекция тоже заменится.
|
|||
|
||||
leon78 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 10.10.2006 Репутация: нет Всего: нет |
Не очень понял, речь идет о "Save" или "Cancel"?
И не могу понять, почему при UpdateSourceTrigger= Explicit после редактирования DataGrid данные сразу же меняются в коллекции? |
|||
|
||||
erm0l0v |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 11.1.2011 Репутация: нет Всего: 1 |
Приведите пример кода где у вас к DataGrid цепляется коллекция.
|
|||
|
||||
leon78 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 10.10.2006 Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |