使用textcoloumn中的所有值。
我想添加图像单元格。
我不想使用Gwt-Ext或智能客户端。
我的代码
private CellTable<FDocument> getDocumentTable() {
if (documentTable == null) {
documentTable = new CellTable<FDocument>();
documentTable.setSize("600px", "300px");
documentTable.addColumn(nameColumnD, "NAME");
documentTable.addColumn(sizeColumnD, "SIZE");
documentTable.addColumn(modified_by_ColumnD, "MODIFIED BY");
documentTable.addColumn(dateColumnD, "MODIFIED ON");
documentTable.addColumn(majorVersion, "Major Version");
}
return documentTable;
}
TextColumn<FDocument> nameColumnD = new TextColumn<FDocument>() {
@Override
public String getValue(FDocument object) {
return object.getName();
}
};
TextColumn<FDocument> sizeColumnD = new TextColumn<FDocument>() {
@Override
public String getValue(FDocument object) {
return object.getSize();
}
};
..// similarly all the coloumn.
我想添加到图片Cell。怎么做。
编辑
ImageCell imageCell=new ImageCell();
Column<FDocument,String> iconColumn = new Column<FDocument, String>(imageCell){
@Override
public String getValue(FDocument object) {
// TODO Auto-generated method stub
return object.getImageUrl(object);
}
};
在FDocument Class
中public String getImageUrl(FilenetDocument object){
if(object.getMimeType().equals("text/plain")){
return "url(Txt16.gif)";
}else{
if(object.getMimeType()=="application/x-filenet-publishtemplate"){
return "url(PublishTemplate16.gif)";
}else{
if(object.getMimeType()=="application/x-filenet-filetype-msg"){
return "url(Msg16.gif)";
}else{
if(object.getMimeType()=="application/x-filenet-workflowdefinition"){
return "url(WorkflowDefinition16.gif)";
}else{
if(object.getMimeType()=="application/msword"){
return "url(Doc16.gif)";
}else{
return "url(Txt16.gif)";
}
}
}
}
}
答案 0 :(得分:1)
覆盖render
方法,该方法可用于将任何类型的HTML
内容添加为CellTable中的列
TextColumn<FDocument> iconColumn = new TextColumn<FDocument>() {
@Override
public String getValue(FDocument object) {
return "";
}
@Override
protected void render(Context context, SafeHtml value, SafeHtmlBuilder sb) {
if (value != null) {
sb.appendHtmlConstant("<p style=\"textalign:center;\"><img src=\"icon.gif\"\></p>");
}
}
};
答案 1 :(得分:0)
在你的函数getImageUrl()
中,返回是一种css样式,而不是图像的路径......
因此要么实现一个新的Cell,它使用您提供的样式进行渲染,要么使用ImageResourceCell和静态图标,或者尝试Hardik Mishra提供的渲染方法,但更新getImageUrl()
将PATH返回到图像。