網(wǎng)站首頁 編程語言 正文
最近,在對公司的一個老項目進行優(yōu)化調(diào)整。有個使用的三方插件報表頁面,一旦查詢時間過長就會自動異常并使瀏覽器崩潰,由于這個插件只有個前人遺留的dll文件,實在看不懂里面的代碼無從下手,既然項目前端大部分是基于EasyUI做的,想著就直接用EasyUI的DataGrid做數(shù)據(jù)報表明細展示。
由于之前很少做過B/S相關的項目,對于前端了解的不是很多,好在EasyUI框架文檔資料比較多,功能也比較齊全,上手還是比較快的。
下面開始我的第一個關于報表開發(fā)時遇到的第一個問題:EasyUI DataGrid動態(tài)列數(shù)據(jù)綁定
EasyUI DataGrid動態(tài)列數(shù)據(jù)綁定實現(xiàn)方式并不是很發(fā)雜,請求到遠程數(shù)據(jù)后,通過其中一條列表數(shù)據(jù)獲取到列字段,然后在通過datagrid對數(shù)據(jù)進行綁定
$.getJSON(url, queryParams, function (result) {
? ? // 清空報表節(jié)點數(shù)據(jù)
? ? $("#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 ?// 表格內(nèi)容數(shù)據(jù)綁定
? ? ? ? });
? ? ? ? //分頁處理
? ? ? ? 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');
? ? ? ? ? ? }
? ? ? ? });
后臺返回的數(shù)據(jù)對象是按datagrid要求的格式數(shù)據(jù)返回的
?public class EasyUIPageObject
?{
? ? ?public object rows { get; set; }
? ? ?public int total { get; set; }
? ? ?public object footer { get; set; } // 可選
?}
到此這篇關于EasyUI使用DataGrid實現(xiàn)動態(tài)列數(shù)據(jù)綁定的文章就介紹到這了,更多相關EasyUI DataGrid 動態(tài)列數(shù)據(jù)綁定內(nèi)容請搜索AB教程網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持AB教程網(wǎng)!
相關參考:
原文鏈接:https://www.cnblogs.com/zhuanghamiao/p/datagrid-with-dynamic-columns.html
相關推薦
- 2024-01-31 linux下查看文件當下的所有文件的大小和查找大文件
- 2022-06-08 兩步配置解決 IDEA新項目maven依賴問題
- 2022-08-05 HttpUtil發(fā)送外部請求包工具類
- 2023-06-19 Golang遞歸獲取目錄下所有文件方法實例_Golang
- 2022-09-01 python中的生成器、迭代器、裝飾器詳解_python
- 2022-12-16 使用Python?文件讀取的多種方式(四種方式)_python
- 2022-04-14 Go語言context?test源碼分析詳情_Golang
- 2023-05-30 Python賦值邏輯的實現(xiàn)_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支