SmartGWTの表示Icon付きDetailViewer


さっきの需要と同じようにDetailViewerにiconを追加し、
ListGridのsetCellStyleや上書きに似たいくつかの方法を試してみました
setCellStyleHandlerメソッドはすべて試したが、前者は役に立たず、後者は
リストGridのようにtextのstyleを返すのではなく、cssのclassを返します.
 
幸いなことに、DetailViewerFieldにはDetailFormatterが設置されています.
formatterは、ファイルのサイズをカンマで変更したり、日付を変更したりすることができます.
自分が望むフォーマットで表示して、前のブログの要求を満たすこともできます.上のコード:
 
        DetailViewerField nameField = new DetailViewerField( "name");
        nameField.setDetailFormatter( new DetailFormatter() {
            @Override
            public String format(Object value, Record record, DetailViewerField field) {
                return "<div style=\"" +
                    "padding-left:22px;text-decoration:underline;" +
                    "background-image:url('"+ record.getAttribute( "iconPath")+"');" +
                    "background-repeat:no-repeat;" + "\">" + value + "</div>";
            }
        });

 
Tipを添付します.
 
一般的なdatasourceのDynamicFormを作りましたが、このformでは入力ボックスの幅はデフォルトで150です.
右側には空白がたくさん残っていて、とても見苦しいです.このとき、formの幅を設定するのは役に立たず、formを設定する.setColWidthsも役に立たず、
前者はform全体が占める空間であり、後者はcolumnごとに占める空間であるため、入力ボックスがどれだけ大きいか、どれだけ大きいか.このとき、まず
formのwidthを「95%」に設定し、「*」であれば空間全体を埋め尽くすのも見苦しいです.そして、コードを見てみましょう.
 
        FormItem[] fields = form.getFields();
        for ( FormItem item : fields) {
            item.setWidth( "*");
        }
        addItem( form);

 
着ても簡単だと言っていますが、一つ一つやってみなければなりません.
 
SmartGWTのAPIは非常に豊富で、これはその優位性であり、その劣勢でもある.どのクラスにもNつの方法がありますが、あなたはどの方法が本当なのか分かりません.
欲しいものは、一つ一つドキュメントを見なければなりません.幸いなことに、その一つは、オープンソースで、ソースコードが見えて、とても便利です.二つ目は、GWTベースで、変更されました.
一度で効果を見るのはとても便利で、アプリケーションを再起動する必要はなく、リフレッシュすればいいです.