设置在Listgrid值(SmartGWT的)(set the values in Listgrid

2019-07-29 05:54发布

我试图使用智能GWT,Listgrid。

我同时使用com.google.gwt.user.client.ui和智能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 

Answer 1:

我建议不混合GWT UI和SmartGWT的。 试试只用SmartGWT的,看看问题是否会消失。

您可以通过更换Horizo​​ntalLayout开始(至极,我想是GWT)由HLayout(这是SmartGWT的)。

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

智能GWT具有互操作性的支持,允许智能GWT部件添加到GWT容器,并允许GWT窗口小部件添加到智能GWT容器,并用这个很合适:

  • 增量迁移到智能GWT,如引入单数,复杂的智能GWT部件,例如日历或CubeGrid到现有的应用程序GWT

  • 使用智能GWT,其中智能GWT不具有相应的内置功能中复杂的第三方GWT部件

然而,它没有意义的,自由地混合使用智能GWT和GWT(或其他方式)的部件,即,例如,你不应该把智能GWT容器是在GWT容器内圈内的GWT部件。 在一般情况下,最好不要混用,除非需要小部件功能,迫使你。

这样做的原因是,有限制,最大程度两个Ajax的小部件包(包括GWT)可以互操作的 - 没有标准,它允许在标签秩序管理等领域互联互通,zIndex的管理和完美的布局,部分508可访问性和多层次的方式。

需要注意的是“错误”报道混在GWT和Smart GWT不当(即,在矛盾这些准则)一般要标明WONTFIX,虽然我们会再次讨论这个,将来如果核心GWT开始支持的API将允许更好时,互操作性。



文章来源: set the values in Listgrid (smartGWT)