|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Roman MejtesЕсть еще вариант ListView, он более легковесный.+1. Но автор молчит на предложение. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:12 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Petro123на ввод каждой буквы. Тебе зачем? Сохраняется запись целиком.Если ты не встречался с юзеркейсом, это не значит, что его не существует ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:14 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Shocker.ProЕсть мнение, что WPFОК. Пару лет понаблюдаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:14 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:15 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Petro123Eld HaspТак как "выловить" изменение ячейки до выхода из неё?на ввод каждой буквы. Тебе зачем? Сохраняется запись целиком.Допустим, пользователь отредактировал только одну только одну ячейку DataGrid (Изменил номер телефона, например). Больше ему ни чего менять не надо. Хочет сохранить. Но кнопка "Сохранить" не активна, так как пользователь ещё не вышел из ячейки. Конечно, можно сделать кнопку всегда активной. А сохранять только если были изменения. Можно сказать пользователю - "Сначала нажмите Enter" и т.д. Но интересно добиться всё таки желаемого. Хотя бы с познавательной точки зрения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:17 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Shocker.ProЕсли ты не встречался с юзеркейсом, это не значит, что его не существуетплохо видно к чему это. Запись в табле это обычно сущность. А сущность частями не сохраняется. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:18 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Eld HaspНо кнопка "Сохранить" не активна, так как пользователь ещё не вышел из ячейки.не понял. Должна быть активной на вход в редактирование или на ввод одной буквы. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:20 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Petro123Roman MejtesЕсть еще вариант ListView, он более легковесный.+1. Но автор молчит на предложение.Я не молчу, а обдумываю. Как быть с новой строкой? Просто явно её добавлять в коллекцию? Коллекцию настроить так, чтобы в ней всегда была одна пустая строка? Кстати, читал такой вариант для DataGrid. Выловить событие начала редактирования новой строки (PreparingCellForEdit) и по нему явно создать в коллекции новую строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:21 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Petro123Eld HaspНо кнопка "Сохранить" не активна, так как пользователь ещё не вышел из ячейки.не понял. Должна быть активной на вход в редактирование или на ввод одной буквы.До редактирования кнопка "Сохранить" не активна. При любых изменениях становится активной. Желательно, чтобы изменения "ловились" сразу, до выхода из первой ячейки. Так как иначе создаются неудобства в случае редактирования только одной ячейки - а это будет один из частых используемых способов. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:25 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Eld HaspPetro123пропущено... не понял. Должна быть активной на вход в редактирование или на ввод одной буквы.До редактирования кнопка "Сохранить" не активна. При любых изменениях становится активной. Желательно, чтобы изменения "ловились" сразу, до выхода из первой ячейки. Так как иначе создаются неудобства в случае редактирования только одной ячейки - а это будет один из частых используемых способов.я же сказал, событие ввода буквы. А не выход. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:28 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Eld HaspКак быть с новой строкой? DataGridTest.Items.Add( Было? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:33 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Petro123Eld HaspКак быть с новой строкой? DataGridTest.Items.Add( Было?Кури внимательно то, что написал Роман. Нет никакого Add ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:35 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Petro123Eld Haspпропущено... До редактирования кнопка "Сохранить" не активна. При любых изменениях становится активной. Желательно, чтобы изменения "ловились" сразу, до выхода из первой ячейки. Так как иначе создаются неудобства в случае редактирования только одной ячейки - а это будет один из частых используемых способов.я же сказал, событие ввода буквы. А не выход.Да, при изменении любого символа, даже если не было выхода. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:35 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Petro123Eld HaspКак быть с новой строкой? DataGridTest.Items.Add( Было?Нет. Но если источник прибинден к ItemsSource разве Items.Add исключение не выдаст? Или Вы что-то другое имели ввиду? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:38 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Eld HaspRoman MejtesEld Hasp, это не буфер, а так называемое представление коллекции (ICollectionView) для списочных типов используется ListCollectionView, именно там реализован интерфейс IEditableCollectionViewAddNewItem добавление элементов в источник. Который и поддерживается в DataGrid. Для любой коллекции в рамках потока существует представление коллекции по умолчанию, через которое работает DataGrid, если источником является класс наследующий IEnumerable, но если создать собственный экземпляр представления и связать его с ItemSource, то будет использоваться именно он. Представление коллекции так же реализует сортировку, фильтрацию списка, синхронизацию текущего элемента, навигацию и другой функционал.Так как "выловить" изменение ячейки до выхода из неё? И как быть с новой строкой? Можно ли сделать что-то с этим? редактируемая ячейка существует только во View, механизм там просто, извлекается значение ячейки, создается ячейка с TextBox, этому TextBox присваивается это значение, а когда вы завершаете редактирование, значение передается в источник. То есть, пока редактирование не завершится, то есть редактируемая ячейка не закроется, получить значение будет довольно геморойно и не особо нужно. Код: c# 1. 2. 3. 4. 5. 6. 7.
интерфейс IEditableObject позволит обрабатывать события начала, завершения и отмены редактирования в самом редактируемом объекте модели представления Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
Так же можно отслеживать состояния представления коллекции, примерно следующим образом Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:38 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Eld HaspНо если источник прибинден к ItemsSource разве Items.Add исключение не выдаст?проверь. Я удивлюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:40 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
естественно, создавай свой ListCollectionView, именно его и нужно передавать как источник элементов в свойство ItemSource ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:40 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Eld HaspНет. Но если источник прибинден к ItemsSource разве Items.Add исключение не выдаст? Или Вы что-то другое имели ввиду?был ли топикстартеру полезен хотя бы один пост Петро? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:43 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Shocker.ProEld HaspНет. Но если источник прибинден к ItemsSource разве Items.Add исключение не выдаст? Или Вы что-то другое имели ввиду?был ли топикстартеру полезен хотя бы один пост Петро?партсобрание? Был ли полезен хоть один твой пост? Или ты из группы поддержки? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:46 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Мне жаль его время ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:49 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Shocker.ProМне жаль его время А мне жаль когды ты советуешь модифицировать грид) Почему и говорю - пенсионер. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 19:54 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Roman Mejtesинтерфейс IEditableObject позволит обрабатывать события начала, завершения и отмены редактирования в самом редактируемом объекте модели представления Спасибо за пример. Правильно я понял, что это ниже альтернатива, хотя и за деньги? Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 20:01 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Petro123Eld HaspНо если источник прибинден к ItemsSource разве Items.Add исключение не выдаст?проверь. Я удивлюсь.Проверил - исключение. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 20:34 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Roman Mejtesестественно, создавай свой ListCollectionView, именно его и нужно передавать как источник элементов в свойство ItemSourceНе совсем понял пример. ipc.PropertyChanged += ICV_PropertyChanged; private void IECVANI_PropertyChanged(object sender, PropertyChangedEventArgs e) Это описка или речь о разных обработчиках? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 20:47 |
|
Отслеживание изменений в DataGrid
|
|||
---|---|---|---|
#18+
Roman MejtesEld Haspпропущено... Так как "выловить" изменение ячейки до выхода из неё? И как быть с новой строкой? Можно ли сделать что-то с этим? редактируемая ячейка существует только во View, механизм там просто, извлекается значение ячейки, создается ячейка с TextBox, этому TextBox присваивается это значение, а когда вы завершаете редактирование, значение передается в источник. То есть, пока редактирование не завершится, то есть редактируемая ячейка не закроется, получить значение будет довольно геморойно и не особо нужно.То что геморройно я понял.... Вот такие мелки нюансы в WPF, превращающиеся в геморрой, и удивляют... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 20:51 |
|
|
start [/forum/topic.php?fid=21&msg=39728820&tid=1440380]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
others: | 237ms |
total: | 520ms |
0 / 0 |