智能gwt如何根据数据将图像添加到网格单元格

时间:2015-05-27 04:30:22

标签: java gwt smartgwt

"计数"收到的数据column是一个int(0,1,2,...)。对于具有0的单元格应该什么都不显示,并且当数据是> 0它应该显示图像。

  count.setImageURLPrefix("silk/");
  count.setImageURLSuffix(".png");

这样我就可以添加不同名称的相同图像(2.png,1.png等)

怎么做?

1 个答案:

答案 0 :(得分:2)

如果您已经收到了count的值,那么在将数据加载到网格时,您可以直接使用setAttribute方法并提供要使用的图像。

您需要定义一个隐藏字段,用于存储计数和图像字段的int值,以便在UI上显示图像。

这里,count image将是一个添加到ListGrid的listGridField,可以定义为:

private ListGridField count = new ListGridField("count", "Count");
count.setType(ListGridFieldType.IMAGE);
count.setAlign(Alignment.CENTER);
count.setDefaultValue("blank.png");
count.setCanEdit(false);

加载数据时,其值可以设置为:

ListGridRecord recordTemp = new ListGridRecord();
//add logic to check count int value and set the value accordingly below
recordTemp.setAttribute("count","1.png");
//set other existing attributes
//...
dataSource.getInstance().addData(recordTemp);

另外,如果count的值是动态更新的,那么可以添加changedHandler()来相应地设置属性值。