2

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

  <% @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 -%>
4

2 回答 2

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
于 2012-09-21T09:30:07.277 回答
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
于 2014-07-11T14:53:18.137 回答