欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

BootStrap table实现表格行拖拽效果

程序员文章站 2023-08-16 11:11:56
本文实例为大家分享了bootstrap table实现表格行拖拽的具体代码,供大家参考,具体内容如下 不上图了 首先还是得添加三个文件,自己上网搜搜就行...

本文实例为大家分享了bootstrap table实现表格行拖拽的具体代码,供大家参考,具体内容如下

不上图了

首先还是得添加三个文件,自己上网搜搜就行

<script src="~/content/bootstrap-table/jquery.tablednd.js"></script>
<script src="~/content/bootstrap-table/bootstrap-table-reorder-rows.js"></script>
<link href="~/content/bootstrap-table/bootstrap-table-reorder-rows.css" rel="stylesheet"/>

前台,加在bootstrap table 属性里面  

//当选中行,拖拽时的哪行数据,并且可以获取这行数据的上一行数据和下一行数据
   onreorderrowsdrag: function(table, row) {
    //取索引号
    dragbeforeidx = $(row).attr("data-index");
   },
   //拖拽完成后的这条数据,并且可以获取这行数据的上一行数据和下一行数据
   onreorderrowsdrop: function (table, row) {
    //取索引号
    draglateridx = $(row).attr("data-index");
   },
   //当拖拽结束后,整个表格的数据
   onreorderrow: function (newdata) {
    //这里的newdata是整个表格数据,数组形式
    if (dragbeforeidx != draglateridx) {//这是我其他地方需要的,你们可不必要这个
     //console.log(newdata); 调试用代码
     $.post("sort",
      { jsondata: json.stringify(newdata) },//将整张表数据post,当然,先序列化成json
      function(data) {
       if (data == "success") {
        $table.bootstraptable('refresh');
       }
      });
    }
   }

后台代码controller

public string sort(string jsondata)
  {
   //将json序列化为list<t>
   javascriptserializer serializer = new javascriptserializer();
   list<workflow> list = serializer.deserialize<list<workflow>>(jsondata);
   bll.base.workflow bllworkflow = new bll.base.workflow();
   var result = bllworkflow.sort(list);
   return result;
  }

排序的思路:当前台拖动完成后,将整个表格数据传入后台,先删除之前数据库中的数据,重新保存当前数据实现排序。

缺点:  如果你有分页显示,返回的table数据只为第一页的。第二页就会出现排序问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。