1

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.

画像セルに追加したい。どうやってするの。


編集済み

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 クラスで

public String getImageUrl(FilenetDocument オブジェクト){

            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)";
                    }

                }

            }
        }
    }
4

2 に答える 2

1

CellTableの列としてrender任意のタイプのコンテンツを追加するために使用できるオーバーライドメソッドHTML

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>"); 

        }
       }    
    };  
于 2012-05-02T15:35:18.203 に答える
0

あなたの関数getImageUrl()では、戻り値は画像へのパスではなくCSSスタイルです...

したがって、提供するスタイルでレンダリングする新しいセルを実装するか、静的アイコンでImageResourceCellを使用するか、 Hardik Mishraが提供するレンダリング メソッドを試して更新getImageUrl()し、パスを画像に返します。

于 2012-05-03T09:21:50.717 に答える