2011-12-14 53 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; 
     } 
    } 
} 

的条件并不需要非常严格的,它仍然会节省一些周期为大多数不包含标记的单元格。

相关问题