Jquery数据表拖放而不更改行ID

时间:2017-02-27 12:17:06

标签: jquery datatables

我正在使用:import geb.spock.GebReportingSpec import pages.LoginPage import spock.lang.* import geb.spock.GebSpec @Stepwise class LoginPageTest extends GebReportingSpec{ def "log in Q-municate"(){ given: "Open Log In page" to LoginPage when: "chose log in by email" LoginPage.logInByEmailOrSocial.click() then: "Ensure that we are on LogIn page" LoginPage.logInPageTitle.text() == "Log In" } } 来自:https://datatables.net

我正在使用官方的 RowReorder 插件,它现在运行正常。

我想要做的是:不要更改订单号。

现在,如果我移动列,则会在订单列中更改数字。

那么我想要的是这个数字与之前相同吗?

如果我将第3行移到顶部,那么数字仍然是3,现在正在变为1。

所以最后我只想拖动一滴而不改变订单号。

这可能吗?

HTML:

jquery.dataTables.js

jquery的:

  <table id="example" class="display" width="100%" cellspacing="0">
    <thead>
      <tr>
        <th>order</th>
        <th>name</th>
         <th>country</th>
      </tr>
    </thead>
  </table>

jsfiddle:http://jsfiddle.net/f7debwj2/15/

1 个答案:

答案 0 :(得分:1)

不确定这是否是最佳解决方案,但您可以将原始索引的副本保存在单独的属性中,例如orderOrig,然后在单独的列中显示orderOrig

var url = 'http://www.json-generator.com/api/json/get/clmDuyndua?indent=2';
var table = $('#example').DataTable({
   ajax: {
      url: url,
      dataSrc: function(d){
         $.each(d.data, function(index, item){
            item.orderOrig = item.order;
         });
         return d.data;
      }
   },
   rowReorder: {
      dataSrc: 'order',
   },
   columns: [
     {
        data: 'order'
     },{
        data: 'orderOrig'
     },{
        data: 'name'
     },{
        data: 'place'
   }]
});

请参阅updated example以获取代码和演示。

您还可以隐藏包含序列号的列,请参阅updated example