|
71 / 69 / 19
Регистрация: 13.12.2011
Сообщений: 274
|
||||||||||||||||
Как получить значение ячейки DataGrid08.03.2012, 22:43. Показов 57299. Ответов 56
Метки нет (Все метки)
Есть DataGrid
Код
0
|
||||||||||||||||
| 08.03.2012, 22:43 | |
|
Ответы с готовыми решениями:
56
Как получить значение выделенной ячейки в DataGrid
|
|
|
|||
| 18.12.2023, 10:21 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 13.07.2020
Сообщений: 18
|
||
| 18.12.2023, 10:25 | ||
|
0
|
||
|
|
||
| 18.12.2023, 10:31 | ||
|
Только сразу скажу, напрямую DataGrid никто не редактирует, так это негативно влияет на целостноть данных в БД и т.д., всё делают через модальные окна либо поля ввода в окне. Пример Как это сделать - рассказывать долго. Учитесь по ссылкам, которые выше, особенно про MVVM.
0
|
||
|
0 / 0 / 0
Регистрация: 13.07.2020
Сообщений: 18
|
||
| 18.12.2023, 10:40 | ||
|
Не нужно мне ничего редактировать, всё что я хочу - это вставить строковое значение TextBlock в буфер обмена (Clipboard), с помощью контекстного меню, если вы про мою конкретную задачу. Без обработчиков событий над DataGrid сможете это сделать?
0
|
||
|
Модератор
|
|||
| 18.12.2023, 10:50 | |||
|
Если брать MVVM, то тут может быть только передача уже полученного значения в ViewModel. Хотя с ходу, даже не могу представить для чего такое может понадобиться. Но чёрт его знает, может кому-то и понадобилось. То есть само понятие "выделенная ячейка" - это как-то трудно ложится на MVVM. Вот "передать значение с координатами" - уже как-то проще представить. Добавлено через 3 минуты Здесь iliabest лишканул на мой взгляд. Очень многие подразумевают под ViewModel любой Контекст Данных. Но это не так. Возможно здесь тоже самое.
0
|
|||
|
0 / 0 / 0
Регистрация: 13.07.2020
Сообщений: 18
|
||
| 18.12.2023, 10:56 | ||
|
0
|
||
|
|
||
| 18.12.2023, 10:58 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 13.07.2020
Сообщений: 18
|
||
| 18.12.2023, 11:11 | ||
|
https://stackoverflow.com/ques... vm-pattern Что такое CodeBehind? Как к нему привязаться с помощью DataContext?
0
|
||
|
|
||||
| 18.12.2023, 11:20 | ||||
0
|
||||
|
0 / 0 / 0
Регистрация: 13.07.2020
Сообщений: 18
|
||
| 18.12.2023, 11:25 | ||
|
не читал если, честно комментарии, почитаю, может в них весь смысл
0
|
||
|
|
||||||||||||||||||
| 18.12.2023, 11:36 | ||||||||||||||||||
Добавлено через 2 минуты
ppvl132, Или вот еще, подмена UI в зависимости от свойства VM
ppvl132, Можно конечно заморочиться и написать Behavior под каждый чих - но... Оно того не стоит...
0
|
||||||||||||||||||
|
0 / 0 / 0
Регистрация: 13.07.2020
Сообщений: 18
|
|||
| 18.12.2023, 11:41 | |||
Перевел комментарии на том форуме, там никто не критикует, наоборот все согласились, что это истинный, чистый MVVM тот комментарий, что вы в пример привели Подходы, отличные от MVVM, включают: int rowIndex = dataGrid1.Items.IndexOf(cell. Пункт); или var currentRowIndex = my_dataGrid.Items.IndexOf(my_dataGrid.Cu rrentItem); - В случае подходов MVVM: расположение индекса SelectedItem в объекте, привязанном к сетке данных, должно совпадать со строкой элемента, если вы не применяете пользовательскую фильтрацию, визуализацию или аналогичную логику. Вот некоторые из них, которые приходят мне в голову в этот момент, надеюсь, это поможет! То есть CodeBehinde это отличный код от MVVM
0
|
|||
|
|
|||
| 18.12.2023, 11:46 | |||
|
Если код в CB для логики View - то там ему и место, если код для View (с обращением к элементам UI) находится в VM - то вот тут уже что-то пошло не так.
1
|
|||
|
Модератор
|
|||||
| 18.12.2023, 14:31 | |||||
|
VM принимает данные для Модели. Причём здесь копипаста? Реализация обработчиков может быть очень различной: 1) Code Behind; 2) Статические хендлеры; 3) Custom Control; 4) Attached Property; 5) Behavior Типовым для изменения поведения считается Behavior. Добавлено через 5 минут Code Front, в WPF, это XAML заполнения контента. В основном Окна, Page, UserControl. Но может быть и у других элементов. Code Behind для них это Шарп-код в их частичном классе. Коды конвертеров, хелперов, Custom Control, селекторов, локаторов и много другого - не считаются Code Behind. Они естественны в WPF и без них невозможно сколько-нибудь развитая реализация. Добавлено через 2 минуты Привязать к CodeBehind.... Ну, разве, что в нём заданы свойства для такой привязки. Этот подход более приемлем для UWP в связи с особенностями "компилируемой привязки" - x:Bind. В WPF такой привязки нет.Добавлено через 8 минут Там очень не любят вопросы общего плана, по архитектуре приложения. Сразу заминусуют. Поэтому какой бы кривой код не был, там не будут писать как нужно его улучшить. Ответят только на прямой вопрос, касающийся работоспособности кода. Что касается самого вопроса и ответов на него, то там "MVVM и не пахло". Добавлено через 6 минут MVVM никак не регулирует детали реализации слоёв. В View не может кода по работе с "первичными данными" - Моделью. "Запрет Code Behind" - это скорее рекомендация от опытных разработчиков. Так как его использование сильно запутывает логику, делает код сложным для чтения. Есть компании в которых такой запрет внесён в локальные правила разработки. С точки зрения оценки квалификации разработчика, использование Code Behind обычно оценивается негативно, как признак отсутствия у него достаточного опыта и навыков.
1
|
|||||
|
Модератор
|
|||||||||||||||||||||||
| 18.12.2023, 14:56 | |||||||||||||||||||||||
|
Даже оставаясь в рамках WPF. Допустим, вы решили заменить DataGrid на какой-то другой элемент: ListView, ListBox, свой кастомный. В этом типе в принципе нет DataGridCell, DataGridCellInfo, событий DataGrid. И как быть тогда? Переделывать VM под новую Вьюху? Вот именно такой зависимости быть и не должно. Условно, руководитель дал два тех задания в отделы View и ViewModel. И потом они из разрабатывают не оглядываясь друг на друга. Что бы там не напридумывали фронтеры - это никак не должно влиять на VM. Добавлено через 1 минуту Это всё делается на Шарпе и относится у View слою. Добавлено через 7 минут Code Behind:
0
|
|||||||||||||||||||||||
|
|
||
| 18.12.2023, 14:58 | ||
|
0
|
||
|
Модератор
|
||
| 18.12.2023, 19:46 | ||
|
Если есть возможность, всё же лучше избежать этого. Те же статические хендлеры во многих случаях могут решить тежи задачи.
0
|
||
| 18.12.2023, 19:46 | |
|
Получить значение ячейки datagrid wpf Получить значение ячейки в выбранной строке datagrid
как получить значения строки и колонки выбранной ячейки DataGrid в MultiBinding? WPF dataGrid Как получить данные из конкретной ячейки или строку в виде масива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|