Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
9 / 9 / 1
Регистрация: 20.01.2012
Сообщений: 196
1

Изменить фон ячеек в DataGrid

02.06.2014, 17:27. Показов 2232. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет. В датагриде нужно изменять фон ячеек в красный. Критерии изменения фона для всех ячеек разные.
Подскажите пож-та алгоритм изменения фона.
Я смотрела что можно сделать через Style в ресурсах ,где TargetType="{x:Type DataGridCell}">, и воспользоваться классом наследованным от интерфейса IValueConverter.

Но в таком случае не совсем понятно, для каждой колонки надо создавать свой отдельный стиль и класс, для того чтобы выполнить проверку на критерии? Подскажите как сделать правильно?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2014, 17:27
Ответы с готовыми решениями:

Формат ячеек DataGrid (фон, цвет шрифта) в зависимости от значения в них
в WinForms у DataGridView есть событие Cell_Formating. В этом событии можно было проверить...

Изменить цвет фона ячеек и шрифта в dataGrid
Подскажите пожалуйста как можно программно задать цвет для определенного диапазона ячеек, а так же...

Изменить фон у некоторых ячеек таблицы при :hover на кнопке
есть кнопка, когда на неё наводишь она меня background это ясно. А вот как сделать, что бы при...

Можно ли изменить цвет\поставить фон вокруг пространства ячеек таблицы?
Есть таблица-меню, для красоты увеличил расстояние между ячейками. Но цвет в в этом пространстве...

4
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
02.06.2014, 22:10 2
Лучший ответ Сообщение было отмечено Бабочка19 как решение

Решение

Цитата Сообщение от Бабочка19 Посмотреть сообщение
Но в таком случае не совсем понятно, для каждой колонки надо создавать свой отдельный стиль и класс, для того чтобы выполнить проверку на критерии? Подскажите как сделать правильно?
Как вариант, сделать один конвертер, но воспользоваться ConverterParameter.
1
9 / 9 / 1
Регистрация: 20.01.2012
Сообщений: 196
03.06.2014, 09:55  [ТС] 3
Spawn, скажите пожалуйста как можно немного другой вариант реализовать...

Вот у меня есть грид. Грид содержит 3 колонки.
1 колонка - Кривизна,
2 колонка - Уклон,
2 колонка - Высота.

Пользователь вводит значения, вводит кривизну, значение 50 - это высокое, то изменить фон на красный.
далее вводит уклон - если у уклона тоже высокое значение - то изменить на красный, если среднее, то нужно посмотреть значения других колонок, если ли у кого нибудь среднее значение, если есть то тогда подсветить в красной цвет уклон и ту ячейку у которой среднее значение.
В принципе необязательно это делать через Setter, можно и по кнопке сделать .


Допустим пользователь ввел значения, нажимает кнопку,
запускается цикл по коллекции(источник грида), идет проверка значений на критерии, в итоге выделяем нужные ячейки.
Что скажите?
0
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
03.06.2014, 10:05 4
С точки зрения пользователя, скажу, что весь фон менять не стоит... Чёрный на красном прочитать трудно, а менять ещё и текст довольно муторно.
В общем-то, делать через конвертеры или по кнопке - решать Вам. Если в привязке не стоит UpdateSourceTrigger=PropertyChanged, то разницы особо не будет, а вот в противном случае нагрузка будет довольно весёлой. С точки зрения интерфейса, красиво, когда ты что-то поменял и без лишних телодвижений получил результат, но красота обычно требует жертв (WPF сам по себе не лёгкий, а когда в нём прыгать и мигать всё начинает, процессор бесится не на шутку).
Есть и ещё один аспект - MVVM - если делать по кнопке, придётся плодить свойства, на которые будет реагировать привязка с цветом фона, в противном же случае достаточно и текущих свойств со значениями.
0
9 / 9 / 1
Регистрация: 20.01.2012
Сообщений: 196
06.06.2014, 14:14  [ТС] 5
Spawn, В событии LoadingRow datagrig можно повлиять на фон определенных ячеек загружаемой строки?
0
06.06.2014, 14:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2014, 14:14
Помогаю со студенческими работами здесь

Excel : Изменить на красный фон тех ячеек в выделенном диапазоне, которые пусты (не содержат информацию)
10. Excel : Изменить на красный фон тех ячеек в выделенном диапазоне, которые пусты (не содержат...

Изменить размер нижних ячеек, не меняя размера верхних ячеек
Вообщем вопрос, как сделать чтобы в первых 15 строках таблицы ячейки были одной длины и высоты, А с...

Изменить ширину ячеек одной таблицы, в зависимости от соответствующих ячеек в другой таблице
День добрый. Необходимо изменять ширину ячеек одной таблицы, в зависимости от соответствующих...

Изменить class элемента с помощью onmouseover, например изменить фон ячейки в таблице
Можно ли изменить class элемента, с помощью onmouseover, например изменить фон ячейки в таблице

Фон ячеек таблицы
Добрый день . Помогите пожалуйста разобраться? С помощью селектора атрибутов сделать фон ячеек...

Объединение ячеек в DataGrid
Как объединять определённые ячейки в DataGrid. И можно ли накладывать ограничения изменения на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru