Flex 3 Разноцветный текст в ячейке DataGrid - PullRequest
1 голос
/ 14 декабря 2011

У меня проблема со стилем отдельных ячеек в DataGrid.Я хочу просмотреть текст в ячейке DataGrid и закрасить только определенную часть текста.

Когда пользователь использует поисковый фильтр, мы хотим закрасить и выделить текст в ячейке, которая соответствует поисковой фразе.Например, Пользователь фильтрует столбец названий должностей с помощью поисковой фразы «Настроить», и одним из значений ячейки является «Настройщики утверждений», мы хотим, чтобы «Утверждение» и «в конце» были черным цветом шрифта иНастройте ", чтобы быть другим цветом (скажем, красным).

Я заметил, что если строка, переданная в DataGrid, имеет вид:

value.substring (0, начало) + "(b)" + value.substring (начало, конец)+ "(/ b)" + value.substring (отделка);

При использовании «<>» вместо «()» текст между жирным шрифтом отображается жирным шрифтом, но не работает с (font color = \ "red \") ...(/font).
Любые предложения о том, как сделать так, чтобы текст поиска был выделен цветом и выделен жирным шрифтом?

Ответы [ 2 ]

1 голос
0 голосов
/ 24 мая 2012

Простая альтернатива с большой гибкостью - сделать так, чтобы ваш itemRendrer поддерживал форматирование HTML:

public class HtmlItemRenderer extends DataGridItemRenderer {
    override public function validateProperties():void {
        super.validateProperties();
        if (text.indexOf('<') > -1) {
            htmlText = text;
        }
    }
}

Условное условие не должно быть очень строгим, оно все равно сохранит некоторые циклы для большинства ячеек, которые не содержат разметки.

...