如何在dataTables中将数字数据右对齐
我正在使用dataTables插件。我发现数字数据没有正确对齐如何在dataTables中将数字数据右对齐,datatables,Datatables,我正在使用dataTables插件。我发现数字数据没有正确对齐 数据表就是这样工作的吗 我的数据格式是否有误 如何编写检查数据表中每个单元格的数据类型并将数据向右对齐(如果是数字)的功能 我使用的插件来自这里:定义datatables对象时,可以选择自定义列类型,包括添加css类。然后可以使用该类对该列执行任何操作 $('#myTable').dataTable( { "aoColumnDefs": [ { "sClass": "numericCol", "aTarge
- 数据表就是这样工作的吗
- 我的数据格式是否有误李>
- 如何编写检查数据表中每个单元格的数据类型并将数据向右对齐(如果是数字)的功能
我使用的插件来自这里:定义datatables对象时,可以选择自定义列类型,包括添加css类。然后可以使用该类对该列执行任何操作
$('#myTable').dataTable( {
"aoColumnDefs": [
{ "sClass": "numericCol", "aTargets": [ 0 ] }
//You can also set 'sType' to 'numeric' and use the built in css.
]
} );
aTargets的值是要应用此类的列的索引
在你的CSS中有一些类似于
.numericCol{
float:right;
}
这是我的解决办法
$('#itemTable1').dataTable({bPaginate:false,bFilter:false,bInfo:false,bSort:false});
$('#itemTable2').dataTable({bPaginate:false,bFilter:false,bInfo:false,bSort:false});
$('#itemTable3').dataTable({bPaginate:false,bFilter:false,bInfo:false,bSort:false});
$('#itemTable4').dataTable({bPaginate:false,bFilter:false,bInfo:false,bSort:false});
$(#itemTable5').dataTable({bPaginate:false,bFilter:false,bInfo:false,bSort:false});
//例如第四个例子
$('#itemTable4 td.numval').css('text-align','right');
//例如第五个例子
var tableData=['5100','Bacon',1,'KG',400','5101','Chilly',500,'GM',30','5102','Pepper',1,'KG',250];
$。每个(表数据、函数(i、项){
$('#itemTable5').DataTable().row.add([
tableData[i][0],
tableData[i][1],
tableData[i][2],
tableData[i][3],
tableData[i][4]
]).draw();
});
//加载数据后
$(“#itemTable5 tbody tr”).each(function(){(this).find('td:eq(2)')).addClass('numcol');$(this.find('td:eq(4)')).addClass('numcol');
});
$('#itemTable5 td.numcol').css('text-align','right')代码>
表td.numcol{
文本对齐:右对齐;
}
示例1:使用“对齐”属性
项目Id
项目名称
项目数量
项目单位
项目价格
5100
培根
1.
公斤
400
5101
寒冷的
500
转基因的
30
5102
胡椒粉
1.
公斤
250
示例2:使用样式
项目Id
项目名称
项目数量
项目单位
项目价格
5100
培根
1.
公斤
400
5101
寒冷的
500
转基因的
30
5102
胡椒粉
1.
公斤
250
示例3:使用类
项目Id
项目名称
项目数量
项目单位
项目价格
5100
培根
1.
公斤
400
5101
寒冷的
500
转基因的
30
5102
胡椒粉
1.
公斤
250
示例4:对静态表使用JQuery
项目Id
项目名称
项目数量
项目单位
项目价格
5100
培根
1.
公斤
400
5101
寒冷的
500
转基因的
30
5102
胡椒粉
1.
公斤
250
示例5:对动态表使用JQuery
项目Id
项目名称
项目数量
项目单位
项目价格
以下是我的解决方案,适用于任何列的1.10.16版:
$.fn.table = function() {
return this.each(function() {
var self = $(this);
self.DataTable({
columnDefs: self.find('th').map(function() {
var self = $(this);
return {
render: function(data, type, row, meta) {
if (data === (+data).toString()) {
return '<div style="text-align: right">' + data + '</div>';
} else {
return data;
}
},
targets: self.index()
};
}).get()
});
});
};
$.fn.table=函数(){
返回此值。每个(函数(){
var self=$(这是);
self.DataTable({
columnDefs:self.find('th').map(函数(){
var self=$(这是);
返回{
呈现:函数(数据、类型、行、元){
if(data==(+data).toString()){
返回“”+数据+“”;
}否则{
返回数据;
}
},
目标:self.index()
};
}).get()
});
});
};
在1.10.19版中,要将第2列和第3列向右对齐,我执行以下操作:
$('#myDataTableHere').DataTable({
columnDefs: [
{ targets: [1, 2], className: "right-aligned-cell" },
]
}
显然,我的CSS有一个类代码>以实际获得结果
注:
HTML文档建议,使用CSS类.dt body right
也可以这样做。这对AJAX方法不起作用。现在已经有几个小时了,我一直在绞尽脑汁想在“打印”模式下使数字向右对齐。有人知道如何在打印时使数字对齐
html我有很好的格式,但是当打印的时候,所有的东西都在左边
您可以使用某些功能,当检测到一种标签类型(如“”)时,可以为其内部的所有内容指定对齐方式。这样我们就可以把数字放在标签里,并将它们对齐到右边
非常感谢您给我的帮助。在列定义中,您可以使用className:
$(“#tabDatos”).dataTable({
栏目:[
{数据:“fecha”},
{数据:“导入”,类名:“文本权限”}
]
});代码>我使用ColumnDefs对齐数据:
"columnDefs": [{ targets: [3, 4, 5, 6, 7], className: 'dt-body-right' },
{ targets: [0, 1, 2], className: 'dt-body-center' }],
- 第3、4、5、6、7列与右侧对齐
- 列编号0、1、2与中心对齐
或
通过直接应用类
{ 'data': 'TotalMaleFarmers',className: "text-center" },
从您的评论来看,您所说的实际上是通过
<link rel="stylesheet" type="text/css" media="print" href="/assets/print.css">
@media print{
img{display:none;}
.text-right{float: right; clear:none;}
etc...
}
$("#table1").dataTable({
columns: [
{ data: "account name"}
{ data: "balance", className: "text-right" }
]
});