extjs grid数据排序之array.sort()排序
举个栗子:点击grid1中的某行 例如张三,grid2中相应张三的数据就要排在第一行,游览器f12看了下,grid2中的store数据是array数组形式的,
然准备用array sort方法排序以下,然后grid2刷新一下完事(不走后台,就前段排序一下,然后刷新),
这其中涉及到array.sort()这个方法,
传送门:http://www.w3school.com.cn/js/jsref_sort.asp 入门的文章
代码:
onClick: function () { var me = this, view = me.getView(), vm = me.getViewModel(), deptRecord = vm.get('deptyearclickRecord').data; deptName = deptRecord.DeptName; //grid1中点击某行的值 var topview = this.getView().up("yearbudgetquery_budgetquery"), wardview = topview.down("yearbudgetquery_budgetward"); //grid2 var arraySort = function (keyName) { return function (objectDept) { var value = objectDept.data[keyName]; if (value === deptName) { return -1; } else { return 1; } }; }; wardview.getStore().data.items.sort(arraySort('DeptName')); debugger; wardview.getView().refresh(); //刷新 }
效果图:
当点击grid1中的
grid2中的眼科这个数据就排序grid2列表中的第一行