欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

easyui grid復雜json

錢浩然2年前9瀏覽0評論

EasyUI Grid是一個常用的數據表格插件,它能夠展示數據、分頁、排序、篩選等功能。然而,在實際項目中,復雜的JSON數據往往會導致EasyUI Grid的展示出現問題。下面,我們將為大家介紹如何應對這一問題。

首先,我們需要注意EasyUI Grid對JSON數據的要求,它要求每一個數據項的名稱互相不同,否則EasyUI Grid會無法讀取數據。因此,在編寫JSON數據時,務必要避免重復的元素名稱。

{
"rows":[
{
"id":"1",
"name":"張三",
"age":"18",
"gender":"男",
"course-1":"數學",
"score-1":"90",
"course-2":"語文",
"score-2":"80"
},
{
"id":"2",
"name":"李四",
"age":"20",
"gender":"女",
"course-1":"英語",
"score-1":"85",
"course-2":"化學",
"score-2":"95"
}
]
}

其次,對于多個數據表關聯的情況,EasyUI Grid可以使用joinColumns或groupView進行關聯。joinColumns用于將兩個數據表左連接起來,而groupView則用于將同類數據進行分組。

$("#dg").datagrid({
url: 'get_data.php',
joinColumns: [{
field: 'category',
title: '分類',
rowspan: 2
},{
field: 'price',
title: '價格',
rowspan: 2,
align: 'right'
}, {
column: 'quantity',
title: '庫存',
rowspan: 2
}, {
column: 'discount',
title: '折扣',
rowspan: 2
}],
groupView: {
groupField: 'category',
groupFormatter: function(value, rows){
var total = 0;
$.map(rows, function(row){
total += parseFloat(row.price)*parseFloat(row.quantity);
});
return value + ':' + total.toFixed(2);
}
}
});

最后,如果我們要對EasyUI Grid的顯示效果進行更多個性化定制,則可以通過自定義formatter來實現。formatter可以對數據進行格式化處理,從而實現更靈活的數據展示效果。

function formatScore(val, row){
if (val< 60){
return ''+val+'';
} else {
return ''+val+'';
}
}
$("#dg").datagrid({
columns:[[
{field:'name',title:'姓名',width:100},
{field:'score',title:'分數',width:100,formatter:formatScore}
]],
data:[{
name:'張三',
score:80
},{
name:'李四',
score:50
}]
});

綜上所述,通過以上方法,我們可以有效解決EasyUI Grid對復雜JSON數據的展示問題,定制出更優秀的數據表格效果。