项目上遇到一个情况,需要在当前页(tab)完成操作后刷新另外一个tab中datagrid的数据,然而在当前tab中获取到datagrid调用其load方法,datagrid从服务器获取到数据了,但是那个tab中的datagrid数据清空了!最终没有找到好的解决方法,只好用一种迂回的方式解决:
if ($( "#tabRegion" ).tabs( 'exists' , title)) {
$( '#tabRegion' ).tabs( 'select' , title);
window.top.reload_Abnormal_Monitor.call();
}
1、在datagrid对应的那个tab中定义一个刷新datagrid的方法,将其保存到window.top中
window.top["
reload_Abnormal_Monitor"]=function(){
flightTable.datagrid( "load" );
2、在主页中定义一个方法用于选中datagrid对应的标签Tab,然后调用刷新datagrid的那个方法};
{function reloadTabGrid(title)
if ($( "#tabRegion" ).tabs( 'exists' , title)) {
$( '#tabRegion' ).tabs( 'select' , title);
window.top.reload_Abnormal_Monitor.call();
}
}
3、在当前tab页即完成操作的那个tab中调用主页中的方法
parent.reloadTabGrid( "不正常航班监控" );