如何在ListGridRecord中添加ImgButton并将其设置为DataSourceField?

时间:2013-10-18 14:18:03

标签: datasource smartgwt imagebutton listgrid

我有一个扩展com.smartgwt.client.data.DataSource的DataSource类。我有几个显示一些字符串的DataSourceTextFields,我还需要在其中一列中显示一个图像按钮。问题是,如果我添加另一个字段:

DataSourceField icon = new DataSourceField("name", FieldType.ANY, "title");
setFields(/*the other fields*/, icon);

然后在Fetch中添加所有值:

ArrayList<Record> records = new ArrayList<Record>();
// add all records in iteration, an then add the icon one
ListGridRecord iconRecord = new ListGridRecord();

ImgButton icon = new ImgButton();
icon.setSrc("theSrc/icon.png");
// icon.addClickHandler to execute some action

iconRecord.setAttribute("name", icon);
records.add(iconRecord);

response.setData(records.toArray(new Record[records.size()]));
processResponse(requestId, response);

所有这些都会产生com.google.gwt.core.client.JavaScriptException :( null):null - 该表显示,但在控制台中显示空行并显示此错误(没有更多详细信息)。 我也尝试将ImgButton放在HLayout中,但是我得到了同样的错误。我也试图为此目的创建一个DataSourceImageField,但后来我还有其他错误。 能否请你帮忙? 谢谢。

0 个答案:

没有答案