yadcf - 选择 - 将多个值拆分到单元格中的单独行上

时间:2016-02-05 10:00:42

标签: datatables yadcf

我在datatables.js上使用yadcf来填充和过滤列选择例如国家清单。 select包含国家/地区的唯一值,例如:

奥地利

法国

意大利

USA

UK

记录可以包含Country的多个值。例如,记录可能包含" USA"和"英国"。这些国家/地区在单元格中显示如下:

  
    

美国,英国

  

我希望Country的值显示在单元格中的不同行上,如下所示:

  
    

USA

         

UK

  

有可能吗?

2 个答案:

答案 0 :(得分:1)

您可以使用text_data_delimiter: '<br>',只需确保<td>单元格中没有空格,see live sample here

代码段:

$(document).ready(function(){
  oTable = $('#example').dataTable().yadcf([
    {
      column_number : 0,
      text_data_delimiter: '<br>'
    }]);
});

HTML:

  <table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
    <thead>
      <tr>
        <th>Some Data</th>
        <th>More Data</th>
        <th>Yes / No</th>
        <th>Values</th>
        <th>Tags</th>
      </tr>
    </thead>
    <tbody>
      <tr class="odd gradeX">
        <td>One<br>Two</td>
        <td>More Data 11</td>
        <td>Yes</td>
        <td>a_value,b_value</td>
        <td><span class="label lightblue">Tag1</span><span class="label lightblue">Tag2</span></td>
      </tr>
      <tr class="even gradeC">
        <td>Three<br>Four</td>
        <td>More Data 22</td>
        <td>No</td>
        <td>b_value,c_value</td>
        <td><span class="label lightblue">Tag1</span><span class="label lightblue">Tag3</span></td>
      </tr>      
    </tbody>
  </table>

答案 1 :(得分:0)

我今天回到这里并在数据表中解决了这个问题,特别是在'render'选项中。

如果数据行中有多个国家/地区名称,我解析了数组并添加了BR。这使得国家名称显示在TD的单独行中。

'render': function (data, string, row) {

    var countryNames = "";

    $.each(data, function (i, item) {
        countryNames += item + "<br />";
    })

    return countyNames;
}