我正在尝试使用智能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
答案 0 :(得分:1)
我建议不要混用GWT UI和SmartGWT。尝试仅使用SmartGWT,看看问题是否消失。
您可以通过HLayout(即SmartGWT)替换HorizontalLayout(我认为是GWT)来开始。
引自:http://forums.smartclient.com/showthread.php?t=8159
Smart GWT具有互操作性支持,允许Smart GWT小部件 要添加到GWT容器并允许添加GWT窗口小部件 一个Smart GWT容器,适合用于:
向Smart GWT的增量迁移,例如引入单一的,复杂的Smart GWT 诸如Calendar或CubeGrid之类的组件到现有的GWT应用程序
在Smart GWT中使用复杂的第三方GWT小部件,而Smart GWT则没有 相应的内置功能
然而,自由混合Smart GWT和GWT是没有意义的 (或其他)组件,例如,您不应放置GWT Smart GWT容器中的小部件,它们又在GWT内 容器。一般情况下,除非需要a,否则不要混用小部件 特征迫使你去。
原因是最大程度有限制 两个Ajax小部件工具包(包括GWT)可以互操作 - 有 没有允许在管理领域实现互操作性的标准 选项卡顺序,zIndex管理,像素完美布局,第508节 可访问性和多级模态。
请注意,在混合GWT和Smart GWT时会报告“错误” 不恰当地(也就是说,与这些指导方针相矛盾) 一般会被标记为WONTFIX,虽然我们会重新考虑这个 未来,如果核心GWT开始支持更好的API 互操作性。