2016-11-18 45 views
0

我有一個包含父行和子行的表。子行可以使用引導程序默認摺疊機制摺疊。所有行都可以使用數據表rowReorder重新排序。現在,如果我拖動&刪除父行,它的子行不會移動,當然。我如何實現這一行爲?重新排序時在數據表中移動摺疊的行與父行

這裏是什麼我現在有一個jsfiddle,使用工資列開始拖行:

$(document).ready(function() { 
 
    var table = $('#example').DataTable({ 
 
    "columnDefs": [{ 
 
     targets: 0, 
 
     visible: false 
 
    }], 
 

 
    rowReorder: { 
 
     selector: 'td:last-child' 
 
    }, 
 

 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.js"></script> 
 
<link href="https://cdn.datatables.net/rowreorder/1.1.2/css/rowReorder.dataTables.css" rel="stylesheet" /> 
 
<script src="https://cdn.datatables.net/rowreorder/1.1.2/js/dataTables.rowReorder.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.js"></script> 
 
<link href="https://cdn.datatables.net/1.10.12/css/jquery.dataTables.css" rel="stylesheet" /> 
 

 
<div class="container"> 
 
    <table id="example" class="display nowrap" width="100%"> 
 
    <thead> 
 
     <tr> 
 
     <th>Seq</th> 
 
     <th>Name</th> 
 
     <th>Position</th> 
 
     <th>Office</th> 
 
     <th>Age</th> 
 
     <th>Start date</th> 
 
     <th>Salary</th> 
 
     </tr> 
 
    </thead> 
 

 
    <tfoot> 
 
     <tr> 
 
     <th>Seq</th> 
 
     <th>Name</th> 
 
     <th>Position</th> 
 
     <th>Office</th> 
 
     <th>Age</th> 
 
     <th>Start date</th> 
 
     <th>Salary</th> 
 
     </tr> 
 
    </tfoot> 
 

 
    <tbody> 
 
     <tr> 
 
     <td>1</td> 
 
     <td><i class="btn btn-xs fa fa-list-ul" data-toggle="collapse" data-target=".collapsed1">+</i><b>Tiger Nixon (parent)</b> 
 
     </td> 
 
     <td>System Architect</td> 
 
     <td>Edinburgh</td> 
 
     <td>61</td> 
 
     <td>2011/04/25</td> 
 
     <td>$3,120</td> 
 
     </tr> 
 
     <tr class="collapse collapsed1"> 
 
     <td>2</td> 
 
     <td>Garrett Winters (child)</td> 
 
     <td>Director</td> 
 
     <td>Edinburgh</td> 
 
     <td>63</td> 
 
     <td>2011/07/25</td> 
 
     <td>$5,300</td> 
 
     </tr> 
 
     <tr class="collapse collapsed1"> 
 
     <td>3</td> 
 
     <td>Ashton Cox (child)</td> 
 
     <td>Technical Author</td> 
 
     <td>San Francisco</td> 
 
     <td>66</td> 
 
     <td>2009/01/12</td> 
 
     <td>$4,800</td> 
 
     </tr> 
 
     <tr> 
 
     <td>4</td> 
 
     <td><b>Cedric Kelly(parent)</b> 
 
     </td> 
 
     <td>Javascript Developer</td> 
 
     <td>Edinburgh</td> 
 
     <td>22</td> 
 
     <td>2012/03/29</td> 
 
     <td>$3,600</td> 
 
     </tr> 
 
     <tr> 
 
     <td>5</td> 
 
     <td><b>Jenna Elliott (parent)</b> 
 
     </td> 
 
     <td>Financial Controller</td> 
 
     <td>Edinburgh</td> 
 
     <td>33</td> 
 
     <td>2008/11/28</td> 
 
     <td>$5,300</td> 
 
     </tr> 
 

 
    </tbody> 
 
    </table> 
 
    <br/> 
 
    <br/> 
 
    <br/> 
 

 
    <ul> 
 
    <li>Collapse/show child entries of Tiger Nixon using the plus sign.</li> 
 
    <li>Drag rows by touching the salary column.</li> 
 
    </ul> 
 
</div>

回答

1

您的父行和子行的實現不正確,因爲您沒有在這裏使用任何現有的數據表功能。

你加入親子行的補丁(可摺疊),並且它支持你將不得不增加許多其他的補丁,以及支持數據表中的其他功能,如:分類,搜索等

我建議你看看這個link。它展示瞭如何實現可摺疊的數據/細節。您可以將內容修改爲看起來像行,但數據表的功能仍然不適用於這些行。理想情況下,他們只能在父行上工作。休息取決於你的要求和實施。