Javascript 将JS包装到GWT单元表中
在GWT单元表中,我包装了jquery功能,比如使用JSNI进行分组。但是它的抛出JavaScriptObject Exception函数是未定义的Javascript 将JS包装到GWT单元表中,javascript,jquery,gwt,Javascript,Jquery,Gwt,在GWT单元表中,我包装了jquery功能,比如使用JSNI进行分组。但是它的抛出JavaScriptObject Exception函数是未定义的 table.setRowData(loadContactInfo()); //To Load Data loadGridData(); //Calling JSNI For Grouping private List<ContactInfor> loadContactInfo() {
table.setRowData(loadContactInfo()); //To Load Data
loadGridData(); //Calling JSNI For Grouping
private List<ContactInfor> loadContactInfo() {
// To load data
List<ContactInfor> lstContact = new ArrayList<ContactInfor>();
lstContact.add(new ContactInfor("XXX", "YYY", "t", "26", "0300",Big Street"));
return ContactInfor;
}
public static native void loadGridData()/*-{
//calling js for grouping functionality which contains table tr element
}-*/;
由于在重新绘制单元格表之前需要几毫秒的时间,因此调用JSNI方法会引发JSO异常。在加载和呈现数据之后,是否还有其他方法将JS包装到单元格表中?对此有什么建议吗?上面的代码中只有很少的信息,但是如果您的问题是由于重新绘制和jquery之间的时间关系造成的,那么您可能需要使用Scheduler.get.schedulederferred命令让浏览器在再次更改dom之前完成它的工作
感谢您的回复,我在加载数据后使用了flush语句,请参见下面的代码
table.setRowData(loadContactInfo());
**table.flush(); //flush force to render immediately**
loadGridData();
private List<ContactInfor> loadContactInfo() {
// To load data
List<ContactInfor> lstContact = new ArrayList<ContactInfor>();
lstContact.add(new ContactInfor("XXX", "YYY", "t", "26", "0300",Big Street"));
return ContactInfor;
}
public static native void loadGridData()/*-{
//calling js for grouping functionality which contains table tr element
}-*/;
还可以使用Scheduler.get.schedulederferred添加延迟