Using SmartClient Version: v9.0p_2013-07-05/Enterprise Deployment (built 2013-07-05) with IE9.
When you define a ListGrid hover customizer and have columns of non-string types you get a java script error:
06:48:32.630 [ERROR] [com.pci.ea.EA] Uncaught exception escaped
java.lang.IllegalArgumentException: invoke arguments: JS value of type int, expected java.lang.Object
at com.google.gwt.dev.shell.JsValueGlue.get(JsValueGl ue.java:178)
at com.google.gwt.dev.shell.MethodDispatch.invoke(Met hodDispatch.java:65)
at com.google.gwt.dev.shell.OophmSessionHandler.invok e(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reac tToMessagesWhileWaitingForReturn(BrowserChannelSer ver.java:338)
at com.google.gwt.dev.shell.BrowserChannelServer.invo keJavascript(BrowserChannelServer.java:219)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke (ModuleSpaceOOPHM.java:136)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative( ModuleSpace.java:571)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeO bject(ModuleSpace.java:279)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNati veObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.ja va)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.j ava:242)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unkno wn Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(Meth odAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(Met hodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invok e(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reac tToMessages(BrowserChannelServer.java:293)
at com.google.gwt.dev.shell.BrowserChannelServer.proc essConnection(BrowserChannelServer.java:547)
at com.google.gwt.dev.shell.BrowserChannelServer.run( BrowserChannelServer.java:364)
at java.lang.Thread.run(Thread.java:722)
The problem is with passing the value of the column to your defined customizer in ListGrid.setHoverCustomizer - the code is:
if(fieldName!=null){
valueJ = this.getRawValue(record,fieldName);
}
when it should be:
if (fieldName != null) {
valueJ = $wnd.SmartGWT.convertToJavaType(
this.getRawValue(record, fieldName));
}
This worked when I override the setHoverCustomizer in my extension of the ListGrid object.
When you define a ListGrid hover customizer and have columns of non-string types you get a java script error:
06:48:32.630 [ERROR] [com.pci.ea.EA] Uncaught exception escaped
java.lang.IllegalArgumentException: invoke arguments: JS value of type int, expected java.lang.Object
at com.google.gwt.dev.shell.JsValueGlue.get(JsValueGl ue.java:178)
at com.google.gwt.dev.shell.MethodDispatch.invoke(Met hodDispatch.java:65)
at com.google.gwt.dev.shell.OophmSessionHandler.invok e(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reac tToMessagesWhileWaitingForReturn(BrowserChannelSer ver.java:338)
at com.google.gwt.dev.shell.BrowserChannelServer.invo keJavascript(BrowserChannelServer.java:219)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke (ModuleSpaceOOPHM.java:136)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative( ModuleSpace.java:571)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeO bject(ModuleSpace.java:279)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNati veObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.ja va)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.j ava:242)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unkno wn Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(Meth odAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(Met hodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invok e(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reac tToMessages(BrowserChannelServer.java:293)
at com.google.gwt.dev.shell.BrowserChannelServer.proc essConnection(BrowserChannelServer.java:547)
at com.google.gwt.dev.shell.BrowserChannelServer.run( BrowserChannelServer.java:364)
at java.lang.Thread.run(Thread.java:722)
The problem is with passing the value of the column to your defined customizer in ListGrid.setHoverCustomizer - the code is:
if(fieldName!=null){
valueJ = this.getRawValue(record,fieldName);
}
when it should be:
if (fieldName != null) {
valueJ = $wnd.SmartGWT.convertToJavaType(
this.getRawValue(record, fieldName));
}
This worked when I override the setHoverCustomizer in my extension of the ListGrid object.