EasyUI使用DataGrid實現(xiàn)動態(tài)列數(shù)據(jù)綁定
最近,在對公司的一個老項目進(jìn)行優(yōu)化調(diào)整。有個使用的三方插件報表頁面,一旦查詢時間過長就會自動異常并使瀏覽器崩潰,由于這個插件只有個前人遺留的dll文件,實在看不懂里面的代碼無從下手,既然項目前端大部分是基于EasyUI做的,想著就直接用EasyUI的DataGrid做數(shù)據(jù)報表明細(xì)展示。
由于之前很少做過B/S相關(guān)的項目,對于前端了解的不是很多,好在EasyUI框架文檔資料比較多,功能也比較齊全,上手還是比較快的。
下面開始我的第一個關(guān)于報表開發(fā)時遇到的第一個問題:EasyUI DataGrid動態(tài)列數(shù)據(jù)綁定
EasyUI DataGrid動態(tài)列數(shù)據(jù)綁定實現(xiàn)方式并不是很發(fā)雜,請求到遠(yuǎn)程數(shù)據(jù)后,通過其中一條列表數(shù)據(jù)獲取到列字段,然后在通過datagrid對數(shù)據(jù)進(jìn)行綁定
$.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: '導(dǎo)出',
? ? ? ? ? ? ? ? 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; } // 可選
?}到此這篇關(guān)于EasyUI使用DataGrid實現(xiàn)動態(tài)列數(shù)據(jù)綁定的文章就介紹到這了,更多相關(guān)EasyUI DataGrid 動態(tài)列數(shù)據(jù)綁定內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)參考:
https://www.jeasyui.com/forum/index.php?topic=2197.0
http://jeasyui.com/documentation/index.php#
- jQuery EasyUI中DataGird動態(tài)生成列的方法
- EasyUI學(xué)習(xí)之Combobox下拉列表(1)
- EasyUI 數(shù)據(jù)表格datagrid列自適應(yīng)內(nèi)容寬度的實現(xiàn)
- Easyui Datagrid自定義按鈕列(最后面的操作列)
- easyUI下拉列表點擊事件使用方法
- easyui combogrid實現(xiàn)本地模糊搜索過濾多列
- EasyUI學(xué)習(xí)之Combobox級聯(lián)下拉列表(2)
- jquery easyui如何實現(xiàn)格式化列
- jEasyUI 設(shè)置凍結(jié)列的實現(xiàn)示例
相關(guān)文章
jQuery實現(xiàn)點擊任意位置彈出層外關(guān)閉彈出層效果
在之前做項目的時候經(jīng)常會在主頁面上點擊某個按鈕,右側(cè)彈出一個div輸出對應(yīng)內(nèi)容的詳細(xì)信息,怎么實現(xiàn)的呢,今天小編給大家分享通過jquery實現(xiàn)點擊任意位置彈出層外關(guān)閉彈出層效果,感興趣的朋友一起看看吧2016-10-10
JQuery textlimit 顯示用戶輸入的字符數(shù) 限制用戶輸入的字符數(shù)
顯示用戶輸入的字符數(shù) 限制用戶輸入的字符數(shù)的實現(xiàn)方法。2009-05-05
jQuery插件fullPage.js實現(xiàn)全屏滾動效果
這篇文章主要為大家詳細(xì)介紹了jQuery全屏滾動插件fullPage.js的使用方法,可制作全屏滾動網(wǎng)頁,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12
JQuery動態(tài)添加Select的Option元素實現(xiàn)方法
下面小編就為大家?guī)硪黄狫Query動態(tài)添加Select的Option元素實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
利用javascript/jquery對上傳文件格式過濾的方法
jquery中對上傳文件格式過濾的方法,需要的朋友參考下。2009-07-07

