1.基本用法
单元格formatter(格式化器)函数,带3个参数:
value:字段值。
row:行记录数据。
index: 行索引。
$('#dg').datagrid({
columns:[[
{field:'userId',title:'User', width:80,
formatter: function(value,row,index){
if (row.user){
return row.user.name;
} else {
return value;
}
}
}
]]
});
(1)value:可以在formatter函数中修改value的值,并在界面上展示修改后的值。
**注意:** 在这里对value的修改并不会改动后台数据,这个改动仅相当于对value的渲染。
(2)row:可以通过 row["field值"] 或者 row.field值 得到同一行其他列的值。可以是前面的列,也可以是后面的列。
(3)index:行索引。(项目中没用到过)
2.formatter失效原因及解决方法
columns: [
[{
field: 'ck',
checkbox: true
},
{
field: 'seller_code_p',
title: '代理商编号',
align: "left",
sortable: true,
formatter:function(value){
value=12;
return value;
}
},
{
field: 'seller_code_p',
title: '代理商名称',
align: "left",
sortable: true,
formatter:function(value){
value=12;
return value;
}
}
]
],
当多行数据的field值相同时,formatter就会失效。
注意内容(解决方法):有时我们需要添加一列数据,因为这列数据是通过其他列数据计算后得到的,所以接口并没有给我们这列数据的字段,此时field的值可以自定义,但是不能和其他列字段的field值相同。