[wpf] подсветка строики DataGrid по условию
От: Аноним  
Дата: 27.05.11 12:59
Оценка:
Добрый день.

Есть таблица DataGrid, одной из столбцов является дата, так вот нужно подсвечивать строку таблицы если поле дата будет удовлетворять условию:
ТекущаяДата — ДатаИзСтроки = delta.

Можно это как-то через стиль сделать? или нужно не на дату ссылаться, а по таймеру проверять дату у всех записей и если условие выполняется инициализировать какий-ниб флаг у объекта коллекции и уже по этому флагу прописать в стиле DataTrigger?

Спасибо!
Re: [wpf] подсветка строики DataGrid по условию
От: Codechanger Россия  
Дата: 27.05.11 14:40
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добрый день.


А>Есть таблица DataGrid, одной из столбцов является дата, так вот нужно подсвечивать строку таблицы если поле дата будет удовлетворять условию:

А>ТекущаяДата — ДатаИзСтроки = delta.

А>Можно это как-то через стиль сделать? или нужно не на дату ссылаться, а по таймеру проверять дату у всех записей и если условие выполняется инициализировать какий-ниб флаг у объекта коллекции и уже по этому флагу прописать в стиле DataTrigger?


А>Спасибо!


Второй вариант скорее всего.
Re: [wpf] подсветка строики DataGrid по условию
От: dmitry_npi Россия  
Дата: 30.05.11 13:01
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добрый день.



А>Можно это как-то через стиль сделать? или нужно не на дату ссылаться, а по таймеру проверять дату у всех записей и если условие выполняется инициализировать какий-ниб флаг у объекта коллекции и уже по этому флагу прописать в стиле DataTrigger?



       <Style TargetType="{x:Type wt:DataGridRow}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=CanSign}" Value="False">
                    <Setter Property="IsEnabled" Value="False"/>
                    <Setter Property="Foreground" Value="LightGray"/>
                </DataTrigger>
                
                <DataTrigger Binding="{Binding Path=Post}" Value="Начальник5">
                    <Setter Property="Foreground" Value="DarkOrange"/>
                    <Setter Property="FontWeight" Value="Bold"/>
                    <Setter Property="HeaderTemplate">
                        <Setter.Value>
                            <DataTemplate>
                                <Ellipse Fill="{StaticResource markBrush}" Width="12" Height="12"/>
                            </DataTemplate>
                        </Setter.Value>
                    </Setter>
                </DataTrigger>
            </Style.Triggers>
        </Style>


Вот, как пример, у меня есть список объектов некого класса, имеющего свойства bool CanSign и string Post.
Строки, отображающие объекты, которые "не умеют" CanSign — делаются неактивными.
Строки, в которых поле Post равняется "Начальник5", помечаются кружком слева (как точки останова в IDE).

А>ТекущаяДата — ДатаИзСтроки = delta.

Вычисление условия перенесите в код вашего класса модели. Сделать его типа bool — проще всего.
Атмосферная музыка — www.aventuel.net
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.