正确对齐数据表中的数字数据

时间:2012-09-21 09:21:34

标签: ruby-on-rails-3 jquery-datatables

我正在使用jquery-datatables。我希望如果值是数字,它的对齐应该是正确的,如果它是字符串,那么应该保留对齐。是否可以使用数据表或是否有任何方法?

  <% @tasks.each do |task| -%> 
  <tr>
    <% col_order.each do |key| %>
      <td>
      <% value = task[key.column_name.split(" as ")[1]] || task[key.column_name.split(".")[1]] -%>
      <% if key["drilldown_reportid"].present? %>
        <%= link_to value, project_report_path(@current_project,key["drilldown_reportid"], :column=>"#{key.column_name}", :value=>"#{value}") %>
      <% else %>
        <%= value -%> </td>
      <% end %>
    <% end %>
  </tr>

  <% end -%>

2 个答案:

答案 0 :(得分:5)

我通过更改客户端代码(不更改任何服务器端代码)解决了这个问题。

在文件 css / jquery.dataTables.css,中 我添加了一个类

.alignRight { text-align: right; }

在我处理数据的javascript文件中,我更改了“aoColumnDefs”...

///...
"aoColumnDefs" : [
//...col 1 -6
// col_07

{
    "aTargets" : [ 7 ],
    "fnRender" : function(oObj) {
            return Math.round(oObj.aData["endingDepth"] * 100) / 100;
    },
    "sTitle" : "Ending Depth [m]",
    "sWidth" : "5em",
    "sClass" : "alignRight"
},
//... more columns

答案 1 :(得分:0)

Another solution: add the following line and no need the update the CSS

///...
"aoColumnDefs" : [
//...col 1 -6
// col_07

{
    "aTargets" : [ 7 ],
    "fnRender" : function(oObj) {
            return Math.round(oObj.aData["endingDepth"] * 100) / 100;
    },
    "sTitle" : "Ending Depth [m]",
    "sWidth" : "5em",
    "sClass" : "right"
},
//... more columns