Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

DynamicForm.saveData throws exception for CustomItem

$
0
0
FF: 26
SGWT: 4.0p 07/12/2014 06:34
OS: Win7

Code:

class CustomItem extends CanvasItem{
        private IntegerItem intField;
        private DynamicForm form;
        public CustomItem(String name, String title){
                super(name, title);
                setShouldSaveValue(true);
                final ChangedHandler handler = new ChangedHandler(){
                        @Override
                        public void onChanged(ChangedEvent event) {
                                Integer int0 =  Integer.parseInt((String) intField.getValue());
                                storeValue(int0);
                        }
                };
                intField = new IntegerItem("int"){{
                        setWidth(48);
                        setShowTitle(false);
                        addChangedHandler(handler);
                }};
                form = new DynamicForm(){{
                        setFields(intField);
                }};
                setCanvas(form);
        }
}

@Override
public void onModuleLoad() {
        new HLayout(4){{
                addMember(new VLayout(4){{
                        final DynamicForm form = new DynamicForm() {{
                                setAutoWidth();
                                setDataSource(new DataSource(){{
                                        setClientOnly(true);
                                        setFields(new DataSourceIntegerField("id"){{setPrimaryKey(true);}});
                                }});
                                setFields(new CustomItem("custom", "Custom"));
                        }};
                        addMember(form);
                        addMember(new HLayout(4){{
                                setAutoHeight();
                                addMember(new Button("Save"){{
                                        addClickHandler(new ClickHandler() {
                                                @Override
                                                public void onClick(ClickEvent event) {
                                                        form.saveData();
                                                }
                                        });
                                }});
                        }});
                }});
        }}.show();
}
}

Code:

Caused by: com.google.gwt.core.client.JavaScriptException: (null): null
    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:248)
    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.invokeNativeVoid(ModuleSpace.java:289)
    at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
    at com.smartgwt.client.widgets.form.DynamicForm.saveData(DynamicForm.java)
    at web.gwt.client.Main0$1$1$2$1$1.onClick(Main0.java:63)
    at com.smartgwt.client.widgets.events.ClickEvent.dispatch(ClickEvent.java:107)
    at com.smartgwt.client.widgets.events.ClickEvent.dispatch(ClickEvent.java:1)
    at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:1)
    at com.google.web.bindery.event.shared.EventBus.dispatchEvent(EventBus.java:40)
    at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:193)
    at com.google.web.bindery.event.shared.SimpleEventBus.fireEvent(SimpleEventBus.java:88)
    at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:127)
    at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:129)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
    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.google.gwt.core.client.impl.Impl.apply(Impl.java)
    at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
    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.reactToMessages(BrowserChannelServer.java:292)
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546)
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
    at java.lang.Thread.run(Thread.java:724)

To reproduce, enter a number in the field and click save. Doesn't happen when storing a String.

Viewing all articles
Browse latest Browse all 4756

Trending Articles