2016-02-05 57 views
0

我在datatables.js上使用yadcf來填充和過濾列選擇國家名單。選擇含有例如國家獨特的價值觀:yadcf - 選擇 - 將多個值分割到單元格中的單獨行上

奧地利

法國

意大利

美國

英國

的記錄可以有國家多個值。例如一個記錄可能有「美國」和「英國」。這些國家在細胞像這樣顯示:

美國,英國

我要爲國家的值顯示在單元格中單獨的行,像這樣:

USA

UK

有沒有可能這樣做?

+0

您想分割表格單元格內的值還是在過濾器選擇輸入單元格內?如果它在表格本身內部,那麼它與yadcf沒有關係。 – Daniel

+0

是在表格單元格內。所以大概它會在datatables.js中完成? – AnotherOther

+0

它肯定與yadcf無關,但我認爲它甚至與數據表甚至沒有關係,而是與你的表格佈局本身相關,它取決於你如何安排你的'

'和它的''和​​'它... ...順便說一句,yadcf可以處理每個單元格的多個值,這要歸功於'text_data_delimiter'選項,請參見展示中的第4列http://yadcf-showcase.appspot.com/DOM_source.html – Daniel

回答

1

您可以使用text_data_delimiter: '<br>'只是確保你在YOUT <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> 
+0

嗨,我不能得到這個工作。我失去了我的配置東西'{ \t COLUMN_NUMBER欄:3, \t數據:uniqueListNames, \t SELECT_TYPE: 「選擇」, \t text_data_delimiter: 「
」, \t filter_default_label: 「過濾方式列表」, \t filter_reset_button_text:假 }' 這是我的​​ '​​List1中,列表2' – AnotherOther

+0

1)[數據]中的內容(https://github.com/vedmack/yadcf/blob/master/jquery.dataTables .yadcf .js#L48)對於您希望使用預先設定的值來填充篩選器的情況通常很有用(除非使用[append_data_to_table_data](https://github.com/vedmack/yadcf/blob/master/jquery)。 dataTables.yadcf.js#L63)),至於分隔符,看起來你正在使用'td'的值之間的',',沒有鏈接到一個工作樣本,我無法幫助你。 – Daniel

+0

我正在使用underscore.js uniq創建一個唯一的「列表名稱」數組並將其傳遞給數據元素: 'uniqueListNames = _.uniq(fullNamesList);' 'yadcf.init(cTbl, \t { \t \t COLUMN_NUMBER欄:3, \t \t text_data_delimiter: 「
」, \t \t數據:uniqueListNames, \t \t SELECT_TYPE: 「選擇」, \t \t filter_default_label: 「過濾方式列表」, \t \t filter_reset_button_text:false \t}' text_data_delimiter不適用於任何字符。 – AnotherOther

0

我回來了今天這一點,並解決它在數據表,特別是在'渲染'選項。

如果數據行中有多個國家/地區名稱,我解析該數組並添加BR。這使國別名稱顯示在運輸署的不同行上。

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

    var countryNames = ""; 

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

    return countyNames; 
} 
相關問題