EasyUI使用DataGrid實(shí)現(xiàn)動(dòng)態(tài)列數(shù)據(jù)綁定
最近,在對(duì)公司的一個(gè)老項(xiàng)目進(jìn)行優(yōu)化調(diào)整。有個(gè)使用的三方插件報(bào)表頁(yè)面,一旦查詢時(shí)間過(guò)長(zhǎng)就會(huì)自動(dòng)異常并使瀏覽器崩潰,由于這個(gè)插件只有個(gè)前人遺留的dll文件,實(shí)在看不懂里面的代碼無(wú)從下手,既然項(xiàng)目前端大部分是基于EasyUI做的,想著就直接用EasyUI的DataGrid做數(shù)據(jù)報(bào)表明細(xì)展示。
由于之前很少做過(guò)B/S相關(guān)的項(xiàng)目,對(duì)于前端了解的不是很多,好在EasyUI框架文檔資料比較多,功能也比較齊全,上手還是比較快的。
下面開始我的第一個(gè)關(guān)于報(bào)表開發(fā)時(shí)遇到的第一個(gè)問(wèn)題:EasyUI DataGrid動(dòng)態(tài)列數(shù)據(jù)綁定
EasyUI DataGrid動(dòng)態(tài)列數(shù)據(jù)綁定實(shí)現(xiàn)方式并不是很發(fā)雜,請(qǐng)求到遠(yuǎn)程數(shù)據(jù)后,通過(guò)其中一條列表數(shù)據(jù)獲取到列字段,然后在通過(guò)datagrid對(duì)數(shù)據(jù)進(jìn)行綁定
$.getJSON(url, queryParams, function (result) {
? ? // 清空?qǐng)?bào)表節(jié)點(diǎn)數(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ù)綁定
? ? ? ? });
? ? ? ? //分頁(yè)處理
? ? ? ? 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');
? ? ? ? ? ? }
? ? ? ? });后臺(tái)返回的數(shù)據(jù)對(duì)象是按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實(shí)現(xiàn)動(dòng)態(tài)列數(shù)據(jù)綁定的文章就介紹到這了,更多相關(guān)EasyUI DataGrid 動(dòng)態(tài)列數(shù)據(jù)綁定內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)參考:
https://www.jeasyui.com/forum/index.php?topic=2197.0
http://jeasyui.com/documentation/index.php#
- jQuery EasyUI API 中文文檔 - DataGrid數(shù)據(jù)表格
- Jquery下EasyUI組件中的DataGrid結(jié)果集清空方法
- jQuery easyui datagrid動(dòng)態(tài)查詢數(shù)據(jù)實(shí)例講解
- 擴(kuò)展easyui.datagrid,添加數(shù)據(jù)loading遮罩效果代碼
- jQuery EasyUI datagrid實(shí)現(xiàn)本地分頁(yè)的方法
- jQuery EasyUI之DataGrid使用實(shí)例詳解
- jQuery Easyui DataGrid點(diǎn)擊某個(gè)單元格即進(jìn)入編輯狀態(tài)焦點(diǎn)移開后保存數(shù)據(jù)
- 實(shí)現(xiàn)easyui的datagrid導(dǎo)出為excel的示例代碼
- 詳解EasyUi控件中的Datagrid
- jquery Easyui Datagrid實(shí)現(xiàn)批量操作(編輯,刪除,添加)
相關(guān)文章
Jquery validation remote 驗(yàn)證的緩存問(wèn)題解決方法
這篇文章主要介紹了Jquery validation remote 驗(yàn)證的緩存問(wèn)題的解決方法 ,需要的朋友可以參考下2014-03-03
jQueryeasyui 中如何使用datetimebox 取兩個(gè)日期間相隔的天數(shù)
這篇文章主要介紹了jQueryeasyui 中使用datetimebox 取兩個(gè)日期間相隔的天數(shù),需要的朋友參考下吧2017-06-06
jQuery實(shí)現(xiàn)動(dòng)態(tài)添加節(jié)點(diǎn)與遍歷節(jié)點(diǎn)功能示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)動(dòng)態(tài)添加節(jié)點(diǎn)與遍歷節(jié)點(diǎn)功能,結(jié)合實(shí)例形式分析了jQuery針對(duì)頁(yè)面元素節(jié)點(diǎn)元素的動(dòng)態(tài)添加與遍歷相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
jQuery函數(shù)的第二個(gè)參數(shù)獲取指定上下文中的DOM元素
這篇文章主要介紹了jQuery函數(shù)的第二個(gè)參數(shù)獲取指定上下文中的DOM元素,需要的朋友可以參考下2014-05-05
基于jquery實(shí)現(xiàn)控制經(jīng)緯度顯示地圖與衛(wèi)星
下文與大家分享下使用jquery實(shí)現(xiàn)控制經(jīng)緯度顯示地圖與衛(wèi)星,感興趣的朋友可以參考下哈,希望對(duì)你有所幫助2013-05-05

