EasyUI使用DataGrid實現動態列數據綁定
最近,在對公司的一個老項目進行優化調整。有個使用的三方插件報表頁面,一旦查詢時間過長就會自動異常並使瀏覽器崩潰,由於這個插件隻有個前人遺留的dll文件,實在看不懂裡面的代碼無從下手,既然項目前端大部分是基於EasyUI做的,想著就直接用EasyUI的DataGrid做數據報表明細展示。
由於之前很少做過B/S相關的項目,對於前端瞭解的不是很多,好在EasyUI框架文檔資料比較多,功能也比較齊全,上手還是比較快的。
下面開始我的第一個關於報表開發時遇到的第一個問題:EasyUI DataGrid動態列數據綁定
EasyUI DataGrid動態列數據綁定實現方式並不是很發雜,請求到遠程數據後,通過其中一條列表數據獲取到列字段,然後在通過datagrid對數據進行綁定
$.getJSON(url, queryParams, function (result) { // 清空報表節點數據 $("#tbGrid").empty(); // 拼裝列頭 if (result && result.total > 0) { var columns = new Array(); $.each(result.rows[0], function (i, field) { var column = {}; column["title"] = i; column["field"] = i; columns.push(column); }); $('#tbGrid').datagrid({ height: 780, singleSelect: true, rownumbers: true, pagination: true, columns: [ columns // 列頭綁定 ], data: result.rows // 表格內容數據綁定 }); //分頁處理 var pager = $('#tbGrid').datagrid('getPager'); pager.pagination({ showRefresh: false, total: result.total, pageList: [50, 100, 200, 500], pageSize: queryParams.rows, pageNumber: queryParams.page, buttons: [{ text: '導出', iconCls: 'icon-redo', handler: function () { exportToExcel(queryParams); } }], onSelectPage: function (pageNumber, pageSize) { $(this).pagination('loading'); btnRefresh_onclick(pageNumber, pageSize); $(this).pagination('loaded'); } });
後臺返回的數據對象是按datagrid要求的格式數據返回的
public class EasyUIPageObject { public object rows { get; set; } public int total { get; set; } public object footer { get; set; } // 可選 }
到此這篇關於EasyUI使用DataGrid實現動態列數據綁定的文章就介紹到這瞭,更多相關EasyUI DataGrid 動態列數據綁定內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
相關參考:
https://www.jeasyui.com/forum/index.php?topic=2197.0
http://jeasyui.com/documentation/index.php#
推薦閱讀:
- Vue組件庫ElementUI實現表格列表分頁效果
- ElementUI實現el-form表單重置功能按鈕
- vue使用elementUI分頁如何實現切換頁面時返回頁面頂部
- Jquery之datagrid查詢詳解
- SSM框架整合JSP中集成easyui前端ui項目開發示例詳解