我正在使用SmartGWT 2.5,特别是一个由RESTDataSource支持的ListGrid。
Server集成是通过servlet实现的,我只需要实现fetchData()。数据是服务器端填充的List<Map<String, Object>>
,转换为JSON并在DSResponse中发送。由数据源支持的Live网格通过grid.fetchData()以编程方式触发服务器提取。
要求: 我希望根据我从服务器发送的记录属性之一的值设置记录基本样式(或自定义样式)。 为了做到这一点,我尝试了一个DataArrivedHandler,我遍历可用的行,使用行号从网格中获取ListGridRecord,并使用gridRecord.set_baseStyle(String stylename)或gridRecord.setCustomStyle(String stylename)来尝试并为该记录应用灰色的CSS。在此之后,我调用grid.markForRedraw(),但是没有效果。 CSS没有得到应用。
我必须提一下,我已经使用相同的css非常成功地将普通listGrid(无数据源)上的行变灰。
问题: 我的策略是正确的吗? 是否有另一种方法可以根据属性值将样式应用于记录。
答案 0 :(得分:0)
您的策略是正确的,我已经成功地在我的代码中实现了您所需的功能。确保您正确获取记录并且测试属性存在于其中。我建议使用JSON.encode(record.getJsObj())来查看实际填充的记录。不需要markForRedraw()显式调用,因为在DataArrivedEvent触发后,ListGrid将重绘其视图。如果您需要更多帮助,请发布一个小代码段。同样根据Alain的评论建议,亮点可能是另一个值得关注的好选择。