0

スマート Gwt、Listgrid を使用しようとしています。

com.google.gwt.user.client.ui と smart gwt の両方を使用しています。ListGridRecords[] レコードに値があります

テーブルに値を設定できません。

このコードはコンポジットです。

public TableDocument(Action action) {
        initWidget(getTablePanel());
    }

private HorizontalPanel getTablePanel() {
        if (tablePanel == null) {
            tablePanel = new HorizontalPanel();
            tablePanel.setSize("144px", "75px");

            addtable();
        }

public void addtable() {
        // TODO Auto-generated method stub
        if(isDocumentPresent()==false){

            tablePanel.add(getNoDocumentLabel());
        }else{
            tablePanel.remove(noDocumentLabel);
            tablePanel.add(getDocumentTable()); <-- Error

        }
    }
private ListGrid getDocumentTable() {
        if (documentTable == null) {
            documentTable = new ListGrid();
            documentTable.setSize("644px", "379px");
            documentTable.setCanResizeFields(true);

            documentTable.setFields(getStatus(),getIcon(),getName(),getSize(),getModifiedby(),getModifiedDate(),getMajorVersiosn());
            addValuesToTable();
        }
        return documentTable;
    }

public ListGridField getStatus() {
        if (status == null) {
            status = new ListGridField("statusIcon","");
        }
        return status;
    }
public ListGridField getIcon() {
        if (icon == null) {
            icon = new ListGridField("documentIcon","");
        }
        return icon;
    }
.
.
.// similar code for getSize(),getModifiedby(),getModifiedDate(),getMajorVersiosn()

private void addValuesToTable() {
documentTable.setData(documentsArray);//documentarray is records
}


----------
error

    com.smartgwt.client.core.JsObject$SGWT_WARN: 12:15:47.778:WARN:ListGrid:isc_ListGrid_0:Unable to find clipHandle for drawn Canvas, elementId: isc_0
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:105)
        at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
        at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
        at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:337)
        at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218)
        at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
        at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
        at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
        at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
        at com.smartgwt.client.widgets.grid.ListGrid.create(ListGrid.java)
        at com.smartgwt.client.widgets.BaseWidget.getOrCreateJsObj(BaseWidget.java:361)
        at com.smartgwt.client.widgets.BaseWidget.getElement(BaseWidget.java:276)
        at com.smartgwt.client.widgets.BaseWidget.getElement(BaseWidget.java:264)
        at com.google.gwt.user.client.ui.ComplexPanel.add(ComplexPanel.java:94)
        at com.google.gwt.user.client.ui.HorizontalPanel.add(HorizontalPanel.java:49)
        at com.client.SmartGuI.TableDocument.addtable(TableDocument.java:158)
        at com.client.GUI.TreeCmis$2.onSuccess(TreeCmis.java:157)
        at com.client.GUI.TreeCmis$2.onSuccess(TreeCmis.java:1)
        at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:232)
        at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287)
        at 
4

1 に答える 1

1

GWT UI と SmartGWT を混在させないことをお勧めします。SmartGWT のみを使用してみて、問題が解決するかどうかを確認してください。

Horizo​​ntalLayout (GWT だと思います) を HLayout (SmartGWT) に置き換えることから始めることができます。

引用: http://forums.smartclient.com/showthread.php?t=8159

Smart GWT には相互運用性サポートがあり、Smart GWT ウィジェットを GWT コンテナーに追加したり、GWT ウィジェットを Smart GWT コンテナーに追加したりできます。これを次の目的で使用するのが適切です。

  • Calendar や CubeGrid などの単一の洗練された Smart GWT コンポーネントを既存の GWT アプリケーションに導入するなど、Smart GWT への段階的な移行

  • Smart GWT には対応する組み込み機能がない Smart GWT 内で洗練されたサードパーティ GWT ウィジェットを使用する

ただし、スマート GWT と GWT (またはその他の) コンポーネントを自由に混在させることは意味がありません。たとえば、GWT ウィジェットを、GWT コンテナー内にあるスマート GWT コンテナー内に配置するべきではありません。一般に、機能の必要性によって強制されない限り、ウィジェットを混在させないでください。

この理由は、2 つの Ajax ウィジェット キット (GWT を含む) が相互運用できる最大の程度に制限があるためです。タブ オーダー、zIndex 管理、ピクセル パーフェクト レイアウト、セクションの管理の領域で相互運用性を許可する標準はありません。 508 アクセシビリティとマルチレベル モダリティ。

GWT と Smart GWT を不適切に (つまり、これらのガイドラインに反して) 混在させたときに報告された「バグ」は、一般に WONTFIX とマークされることに注意してください。相互運用性。

于 2012-05-02T12:14:21.683 に答える