easyUI跨tab刷新datagrid

项目上遇到一个情况,需要在当前页(tab)完成操作后刷新另外一个tab中datagrid的数据,然而在当前tab中获取到datagrid调用其load方法,datagrid从服务器获取到数据了,但是那个tab中的datagrid数据清空了!最终没有找到好的解决方法,只好用一种迂回的方式解决:

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(   "不正常航班监控"   );

你可能感兴趣的:(easyUI跨tab刷新datagrid)