我遇到了在DataGrid中设置单个单元格样式的问题。我想浏览DataGrid单元格中的文本,只为文本的特定部分着色。
当用户使用搜索过滤器时,我们希望在单元格中对与搜索短语匹配的文本进行着色和加粗。例如,用户使用搜索短语“Adjust”过滤一列作业标题,其中一个单元格值为“Claim Adjusters”,我们希望“Claim”和“ers”最后为黑色字体颜色和“调整“是另一种颜色(让我们说红色)。
我注意到,如果传递给DataGrid的String的格式为:
value.substring(0,start)+“(b)”+ value.substring(start,finish)+“(/ b)”+ value.substring(finish);
使用“<>”而不是“()”,粗体标签之间的文本以粗体显示,但不适用(font color = \“red \”)...(/ font)。
关于如何让搜索文本在这里变色以及加粗的任何建议?
答案 0 :(得分:1)
答案 1 :(得分:0)
一个具有很大灵活性的简单替代方案是让你的itemRendrer支持html格式化:
public class HtmlItemRenderer extends DataGridItemRenderer {
override public function validateProperties():void {
super.validateProperties();
if (text.indexOf('<') > -1) {
htmlText = text;
}
}
}
条件不需要非常严格,它仍然可以为大多数不包含标记的单元格保存一些周期。