|
ComboBox в DataGrid: как передать выбранное значение в ячейку?
|
|||
---|---|---|---|
#18+
Комбобокс - это "Пол" (м/ж). Есть два класса Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Датагрид привязан к People В нём третий столбец (sex) представляет собой обычный Textblock при отображении и combobox при редактировании. Ситуация: В последнем столбце записано "мужской". Щёлкаю по ячейке, она превращается в combobox, я выбираю "женский". Щёлкаю по ячейке левее (в той же строке) - combobox с моим выбором "женский" исчезает, вместо него рисуется textblock "мужской". В момент, когда строка теряет фокус, происходит сохранение и всё встаёт на свои места - textblock превращается в "женский". Как бы мне сделать так, чтобы textblock менял свой text синхронно с выбором combobox? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2017, 02:20 |
|
ComboBox в DataGrid: как передать выбранное значение в ячейку?
|
|||
---|---|---|---|
#18+
Насчет того, что там в разметке, местной публике предлагается потелепатировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2017, 06:14 |
|
ComboBox в DataGrid: как передать выбранное значение в ячейку?
|
|||
---|---|---|---|
#18+
https://msdn.microsoft.com/ru-ru/library/system.windows.data.binding.updatesourcetrigger(v=vs.110).aspx "{Binding Path, UpdateSourceTrigger=PropertyChanged}" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2017, 11:35 |
|
ComboBox в DataGrid: как передать выбранное значение в ячейку?
|
|||
---|---|---|---|
#18+
Roman Mejtes https://msdn.microsoft.com/ru-ru/library/system.windows.data.binding.updatesourcetrigger(v=vs.110).aspx "{Binding Path, UpdateSourceTrigger=PropertyChanged}" именно так я и делаю. Получается следующая картина: Щёлкаю по произвольной строке грида Начинаю редактирование ячейки с комбобоксом, ячейка из TextBlock превращается в ComboBox Меняю в выпавшем списке значение (пол был женский, стал мужской) - оно тут же отправляется в источник - это я вижу через отладчик, вылетает брейкпоинт на set Код: c# 1. 2. 3. 4. 5.
в классе People: INPC Меняю фокус на другую ячейку в пределах выделенной строки. Комбобокс превращается обратно в textblock, в котором сидит старое значение. Дело в том, что я начал редактировать эту строку. Поэтому все изменения будут применены только после завершения редактирования этой строки, то есть, когда фокус сместится на любую другую. Вот тогда в этот момент и произойдёт её обновление из источника. Вопрос - как сделать так, чтобы обновление было только после завершения редактирования ячейки, а не строки целиком? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 01:05 |
|
ComboBox в DataGrid: как передать выбранное значение в ячейку?
|
|||
---|---|---|---|
#18+
Решение, которое мне подошло: Код: c# 1. 2.
Убираю BindingGroup для каждой строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2017, 02:12 |
|
|
start [/forum/topic.php?fid=21&fpage=7&tid=1440472]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 240ms |
total: | 407ms |
0 / 0 |