0
我用数据表来启动一个表,并在构造函数传递列渲染器,因为这:数据表自定义的渲染和自定义过滤器
var table = $('#reportTable').DataTable({
pageLength: 100,
columns: [
null, // car name
{ className: 'al-c' }, // car plate
{ className: 'al-c' }, // delivery date
null, // delivery to
{ className: 'al-c' }, // collection date
null, // collection to
null, // client
null, // agent
null, // contractor
null, // contract
{ type: "num-fmt", className: 'al-r', render: $.fn.dataTable.render.number(',', '.', 0, '', ' €') }, // price 1
{ type: "num-fmt", className: 'al-r', render: $.fn.dataTable.render.number(',', '.', 0, '', ' €') },
//null,// extra
{ className: 'al-c', sortable: false, render: function (data, type, row) {
var disabled = (data.length >= 1) ? '' : 'disabled';
var buttonCash = '<button class="ui '+disabled+' button paymentType green'+((data=="cash")?'':' basic')+'" data-paymentType="cash"><i class="ui euro icon"></i></button>';
var buttonCC = '<button class="ui '+disabled+' button paymentType blue'+((data=="cc")?'':' basic')+'" data-paymentType="cc"><i class="ui payment icon"></i></button>';
return '<div class="ui mini icon buttons tg-'+disabled+'">'+buttonCash+'<div class="or"></div>'+buttonCC+'</div>';
}
} // payment type
]
});
而且我也想对支付类型添加自定义过滤器列:
$.fn.dataTable.ext.search.push(
function(settings, data, dataIndex) {
var paid = data[12]; // use data for the age column
console.log(data);
if (
(paidType == 'all') ||
(paidType == 'paid' && paid != '') ||
(paidType == 'unpaid' && paid == '')
) { return true; }
return false;
}
);
不过,我遇到了自定义渲染滴剂数据,从数据对象和自定义过滤器的console.log问题(数据)线实际上返回一个空值行,即使价值存在那里...我甚至无法过滤。
我真的难倒就如何解决这个......有没有应用自定义过滤任何其他方式的方法吗?