2011-12-14 35 views
1

我在設計DataGrid中的單個單元格時遇到問題。我想瀏覽DataGrid單元格中的文本,並僅對文本的特定部分進行着色。Flex 3 DataGrid中的多色文本單元格

當用戶使用搜索過濾器時,我們需要在單元格中匹配搜索詞組的文本加上顏色和粗體。例如,用戶使用搜索短語「調整」過濾一列職位名稱,其中一個單元格值爲「理賠調整員」,我們希望末尾的「聲明」和「ERS」爲黑色字體顏色,而「調整「爲另一種顏色(比方說紅色)。

我注意到,如果傳遞給數據網格字符串是以下形式:

value.substring(0,啓動)+ 「(B)」 + value.substring(開始,結束)+「(/ b)「+ value.substring(finish);

對於「<>」而不是「()」,粗體標記之間的文本會以粗體顯示,但不適用於(font color = \「red \」)...(/字體)。
關於如何讓搜索文字在這裏以及大膽的顏色的任何建議?

回答

0

有很多的靈活性,簡單的辦法是讓你的itemRendrer支持HTML格式:

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

的條件並不需要非常嚴格的,它仍然會節省一些週期爲大多數不包含標記的單元格。

相關問題