網站首頁 編程語言 正文
最近,在對公司的一個老項目進行優化調整。有個使用的三方插件報表頁面,一旦查詢時間過長就會自動異常并使瀏覽器崩潰,由于這個插件只有個前人遺留的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 動態列數據綁定內容請搜索AB教程網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持AB教程網!
相關參考:
原文鏈接:https://www.cnblogs.com/zhuanghamiao/p/datagrid-with-dynamic-columns.html
相關推薦
- 2022-09-09 Python?OpenCV?Canny邊緣檢測算法的原理實現詳解_python
- 2022-09-25 Identity Server4/生產模式/證書/certificate/AddSigningCre
- 2022-12-05 numpy中的log和ln函數解讀_python
- 2022-07-18 SQL?Server中數學函數的用法_MsSql
- 2023-10-14 uniapp 將base64字符串保存為圖片、Word、Excel、音頻、視頻等文件
- 2022-04-18 python?numpy中對ndarry按照index增刪改查_python
- 2023-02-05 如何用C#獲取計算機詳細的軟件和硬件信息_C#教程
- 2022-11-26 React從插槽、路由、redux的詳細過程_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支