最近,在對公司的一個(gè)老項(xiàng)目進(jìn)行優(yōu)化調(diào)整。有個(gè)使用的三方插件報(bào)表頁面,一旦查詢時(shí)間過長就會(huì)自動(dòng)異常并使瀏覽器崩潰,由于這個(gè)插件只有個(gè)前人遺留的dll文件,實(shí)在看不懂里面的代碼無從下手,既然項(xiàng)目前端大部分是基于EasyUI做的,想著就直接用EasyUI的DataGrid做數(shù)據(jù)報(bào)表明細(xì)展示。
由于之前很少做過B/S相關(guān)的項(xiàng)目,對于前端了解的不是很多,好在EasyUI框架文檔資料比較多,功能也比較齊全,上手還是比較快的。
下面開始我的第一個(gè)關(guān)于報(bào)表開發(fā)時(shí)遇到的第一個(gè)問題:EasyUI DataGrid動(dòng)態(tài)列數(shù)據(jù)綁定
EasyUI DataGrid動(dòng)態(tài)列數(shù)據(jù)綁定實(shí)現(xiàn)方式并不是很發(fā)雜,請求到遠(yuǎn)程數(shù)據(jù)后,通過其中一條列表數(shù)據(jù)獲取到列字段,然后在通過datagrid對數(shù)據(jù)進(jìn)行綁定
創(chuàng)新互聯(lián)建站,為您提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對服務(wù)成都咖啡廳設(shè)計(jì)等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
$.getJSON(url, queryParams, function (result) {
// 清空報(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ù)綁定
});
//分頁處理
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ù)對象是按datagrid要求的格式數(shù)據(jù)返回的
public class EasyUIPageObject
{
public object rows { get; set; }
public int total { get; set; }
public object footer { get; set; } // 可選
}
相關(guān)參考:
https://www.jeasyui.com/forum/index.php?topic=2197.0
http://jeasyui.com/documentation/index.php#