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

Отображение картинки в ячейке DataGrid в зависимости от условия

27.05.2012, 11:16. Показов 3235. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
На форме есть datagrid. Заполняю его из БД.Есть вычисляемый столбец.
Если в этом столбце 0, то отображаем в ячейке картинку с красной галочкой, в противном ничего.
Пробовала сделать через селектор шаблона:
в xaml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 <DataGrid  AutoGenerateColumns="False">
            <DataGrid.Columns>
                <DataGridTextColumn Binding="{Binding Path=NAME}" Header="Name" Width="200"/>
                <DataGridTextColumn Binding="{Binding Path=ID}" Header="ID" Width="50" />
                 <DataGridTemplateColumn>
                        <DataGridTemplateColumn.CellTemplateSelector>
                        <my:SingleCriteriaHighlightTemplateSelector  
                                HighlightTemplate="{StaticResource HighlightTemplate}"
                                DefaultTemplate="{StaticResource DefaultTemplate}"
                                PropertyToEvaluate="JOB"
                                PropertyValueToHighlight="0">
                        </my:SingleCriteriaHighlightTemplateSelector>
                        </DataGridTemplateColumn.CellTemplateSelector>
                    </DataGridTemplateColumn>                
            </DataGrid.Columns>
        </DataGrid>
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
 public class SingleCriteriaHighlightTemplateSelector : DataTemplateSelector 
    {
        public DataTemplate DefaultTemplate
        {
            get;
            set;
        }
        public DataTemplate HighlightTemplate
        {
            get;
            set;
        }
 
       public string PropertyToEvaluate 
       {
            get; set; 
       }
        public string PropertyValueToHighlight
        {
        get; set; 
        }
 
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
    DataUnit product = item as DataUnit;
    Type type = product.GetType();
    PropertyInfo property = type.GetProperty(PropertyToEvaluate);
    // Решить, должен ли товар быть выделен, на основе значения свойства. 
    if (property.GetValue(product, null).ToString() == PropertyValueToHighlight)
    {
        return HighlightTemplate;
    }
    else
    {
        return DefaultTemplate;
 
    }
}
Почему-то item=null.
Может кто-нибудь сталкивался с такой задачей?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2012, 11:16
Ответы с готовыми решениями:

Отображение картинки в DataGrid в зависимости от контекста
Имеется: &lt;DataGridTemplateColumn Header=&quot;Вложения&quot;&gt; ...

Динамическое отображение картинки в DataGridView в зависимости от условия
В DataGridView отображается список сотрудников отдела. Как сделать, чтобы в первой колонке...

Отображение полей в зависимости от условия
Доброго времени суток! Подскажите пожалуйста каким образом можно организовать отображение в форме...

Отображение кнопки в зависимости от условия
Добрый день. Как вывести (отобразить) кнопку в зависимости от введённого значения в поле ввода...

1
826 / 717 / 110
Регистрация: 06.10.2010
Сообщений: 825
Записей в блоге: 1
27.05.2012, 16:24 2
А ты его проверяй на null в начале. SelectTemplate вызывается перед привязкой и потом после привязки. При втором проходе item будет не null. Поставь точку останова внутри и нажимай F5, увидишь, что после нескольких null, пойдут нормальные значения.
0
27.05.2012, 16:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2012, 16:24
Помогаю со студенческими работами здесь

Отображение картинки в ячейке ТЧ УФ
Добрый день! В ТЧ УФ добавил реквизит &quot;кнопка&quot;, с типом данных &quot;картинка&quot;, перенёс на форму, в...

dataGrid + image --- отображение картинки по щелчку
В столбце датагрида отображаются картинки. Проблема: визуально кажется, что строки пусты. Потом,...

Datagrid в ячейке Datagrid c корректным отображением границ
Задача поместить связанные данные (две таблицы Sql связаны по id ) в виде таблицы ячейки одной их...

Изменение значения в ячейке в зависимости от изменения в другой ячейке
Здравствуйте. Помогите составить формулу для решения вопроса. Допустим есть два столбца (А и В), в...

Отображение данных в одном datagrid при клике в другом datagrid
Здравствуйте! Хотел уточнить, как можно реализовать возможность при клике на форме в dataGrid1,...

Фокус на ячейке DataGrid
Здравствуйте. После выполнения действия надо начать редактирование ячейки datagrid'a. ...


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

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