easyui datagrid插件formatter使用遇到的坑

$('#dg').datagrid({
view: detailview,
detailFormatter:function(index,row){
return '

';
},
onExpandRow: function(index,row){
var ddv = $(this).datagrid('getRowDetail',index).find('table.ddv');
ddv.datagrid({
url:'datagrid22_getdetail.php?itemid='+row.itemid,
fitColumns:true,
singleSelect:true,
rownumbers:true,
loadMsg:'',
height:'auto',
columns:[[
{field:'orderid',title:'Order ID',width:100},
{field:'quantity',title:'Quantity',width:100},
{field:'unitprice',title:'Unit Price',formatter:function formattest(value ,row, index){
...
},width:100}
]],
onResize:function(){
$('#dg').datagrid('fixDetailRowHeight',index);
},
onLoadSuccess:function(){
setTimeout(function(){
$('#dg').datagrid('fixDetailRowHeight',index);
$('#dg').datagrid('fixRowHeight',index);
},0);
}
});
$('#dg').datagrid('fixDetailRowHeight',index);
}
});

1、js报错:col.formatter is not a function
原因是:formatter:”formattest”.在datagrid主网格中将formattest()方法与HTML分离是可以的,在js生成的子网格中这样写是不行的,需要改成formatter:function(val,row,index){}。
2、子网格弹出后,父网格被覆盖。需要添加$(‘#dg’).datagrid(‘fixRowHeight’,index);

你可能感兴趣的:(easyui)