1. datatable中如果不想对前几列进行排序,使用以下代码:

      $('#informationList').DataTable({
    //对0,1,2列不排序
    "columnDefs": [ {
    "orderable": false,
    "targets": [0,1,2]
    }],
    //如果需要重载页面则需要销毁页面,以便于重新加载
    destroy:true,
    //自带的搜索框,如果不需要则可以设置false,默认为true
    searching:true,
    //表格分页
    paging: true,
    //汉化
    language: {
    "sProcessing": "处理中...",
    "sLengthMenu": "显示 _MENU_ 项结果",
    "sZeroRecords": "没有匹配结果",
    "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
    "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
    "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
    "sInfoPostFix": "",
    "sSearch": "简单搜索:",
    "sUrl": "",
    "sEmptyTable": "表中数据为空",
    "sLoadingRecords": "载入中...",
    "sInfoThousands": ",",
    "oPaginate": {
    "sFirst": "首页",
    "sPrevious": "上页",
    "sNext": "下页",
    "sLast": "末页"
    },
    "oAria": {
    "sSortAscending": ": 以升序排列此列",
    "sSortDescending": ": 以降序排列此列"
    }
    }
    });
  2. 现出现需求:datatable自带的搜索框满足不了需求,需要自己动手写搜索语句,并且把数据都已经获取到list集合中了,如何操作?

    1. 查看官方文档,datatable的数据源就三种,其中最方便的一组是使用了array集合来存储数据,如下:

       	/**
      * 条件查询
      *
      * @param title
      * @param level
      * @param industry
      * @param company
      * @param keyword
      * @param function
      * @return
      */
      @RequestMapping("/search")
      @ResponseBody
      public Map<String, Object> searchCaseByCondition(@RequestParam("name") String name, @RequestParam("title") String title, @RequestParam("level") String level, @RequestParam("industry") String industry, @RequestParam("company") String company, @RequestParam("keyword") String keyword, @RequestParam("function") String function, String state) {
      System.out.println(state);
      System.out.println(name);
      System.out.println("1111");
      Map<String, Object> returnMap = new HashMap<>();
      if ("".equals(name)) {
      name = null;
      }
      if ("".equals(level)) {
      level = null;
      }
      if ("".equals(title)) {
      title = null;
      }
      if ("".equals(industry)) {
      industry = null;
      }
      if ("".equals(company)) {
      company = null;
      }
      if ("".equals(keyword)) {
      keyword = null;
      }
      if ("".equals(function)) {
      function = null;
      }
      if (name == null && function == null && keyword == null && company == null && industry == null && title == null && level == null) {
      String error = "输入参数错误,请重新输入!";
      return (Map<String, Object>) returnMap.put("error", error);
      }
      List<Problem> results = caseService.searchByConditions(name, title, level, industry, company, keyword, function, state);
      returnMap.put("searchResults", results);
      return returnMap;
      }

前台接收后的代码:

	$("#btn_search").on('click', function () {
//点击后,需要想后台传输数据
//0,申请人
var pname=$("#proName option:selected").val();
if (pname==null){
pname=null;
}
//1,传送难度级别
var pLevel = $("#proLevel option:selected").val();
if (pLevel == null) {
pLevel = null;
}
// 2,传输所属行业
var pIndustry = $("#proIndustry option:selected").val();
if (pIndustry == null) {
pIndustry = null;
}
//3,传输来源企业
var pCompany = $("#proCompany option:selected").val();
if (pCompany == null) {
pCompany = null;
}
//4,传输关键字,
var keyword = $("#proKeyword option:selected").val();
if (keyword == null) {
keyword = null;
}
//5,传输实现功能
var pFunction = $("#proFunction option:selected").val();
if (pFunction == null) {
pFunction = null;
}
//6,传输难题名称
var pTitle = $("#proTitle option:selected").val();
//7,传值,证明是通过的
var pState='1';
console.log(pState);
$.ajax({
type: "post",
url: "/case/search",
dataType: "json",
data:
{
name: pname,
title: pTitle,
level: pLevel,
industry: pIndustry,
company: pCompany,
keyword: keyword,
function: pFunction,
state:pState
},
error: function () {
},
success: function (data) {
//搜索到数据后去掉模态框
$("#passSearchModal").modal('hide'); console.log(data);
$('#declarationList').DataTable({
destroy: true,
data: data.searchResults,
columns: [
{data: 'proId',render:function (data,type,row,meta) {
return '<label class="checkbox-inline"><input type="checkbox" class="myid2" name="items" id="items" value="'+row.proId+'">'+row.proId+'</label>' }},
{data: 'proTitle',render:function (data, type, row, meta) {
return '<span><a href="/case/displayCase/'+row.proId+'">'+row.proTitle+'</a></span>'
}},
{data: 'proLevel'},
{data: 'proIndustry'},
{data: 'proCompany'},
{data: 'proKeyword'},
{data: 'proFunction'},
{data: '',render:function (data, type, row, meta) {
return '<a href="/case/exportApproveCase/'+row.proId+'">导出<i class="fa fa-file-word-o" aria-hidden="true"></i></a>'
}}
]
});
}
})
}); 使用render来扩展内容属性具体博客忘了粘贴了。
上面一篇的博客----》https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/90445222

datatable某列不排序、和自定义搜索、给数据里面加属性的更多相关文章

  1. Datatable+Springmvc+mybatis(分页+排序+搜索)_Jquery

    一.简介 通过Jqury的Datatable插件,构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求.同时, jQuery Datatable 强大的功能支持:排序,分页,搜索等. 二.前台分 ...

  2. DataTable插件指定某列不可排序

    datatable是一个jQuery扩展的表格插件.其提供了强大的表格功能. 官方地址:http://www.datatables.NET/ DataTable提供的表格样式里面,第一行都是会有排序功 ...

  3. [datatable]排序时指定某列不可排序

    datatable是一个jquery扩展的表格插件.其提供了强大的表格功能. 官方地址:http://www.datatables.net/ 在官方示例中,对于表格的是否可排序是在初始化中设置的一个值 ...

  4. jquery DataTable插件使用自定义搜索

    $(function () { $("#pk_status").change(function () { valid = $(this).val(); if(valid){ tab ...

  5. [WPF]ListView点击列头排序功能实现

    [转]   [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了. ...

  6. datatable动态列处理,重绘表格(敲黑板,划重点!!!我肝了一天半才彻底弄懂这个东西,TAT)

    datatable动态列处理,重绘表格 前言:至于动态列的绘画,我前面博客已经写过了,就是动态列的配置问题,不懂的去我博客看下,今天要写的呢,就是你已经写了一个动态列在datatable,现在你想重新 ...

  7. [Android分享] 【转帖】Android ListView的A-Z字母排序和过滤搜索功能

      感谢eoe社区的分享   最近看关于Android实现ListView的功能问题,一直都是小伙伴们关心探讨的Android开发问题之一,今天看到有关ListView实现A-Z字母排序和过滤搜索功能 ...

  8. GridView列的排序功能

    首先要给GridView设置三个属性 GridView4.AllowSorting = true; GridView4.Attributes.Add("SortExpression" ...

  9. Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音

    转载:http://blog.csdn.net/xiaanming/article/details/12684155 转载请注明出处:http://blog.csdn.net/xiaanming/ar ...

随机推荐

  1. 指定linux 下默认python版本

    sudo rm -rf python sudo ln -s /usr/bin/python3 /usr/bin/python

  2. 【Python杂货铺】速学python基础

    "人生苦短,我学python"是编程届的名言.用python写小脚本的便捷性,让很多其他语言的学习者把python当作辅助语言.拥有了某一个语言的功底,再来学习另外一种语言应该是十 ...

  3. PAT甲级——1050 String Subtraction

    1050 String Subtraction Given two strings S​1​​ and S​2​​, S=S​1​​−S​2​​ is defined to be the remain ...

  4. 系统学习Javaweb8----JavaScript4(结束)

    学习内容: 1.DOM对象 1.2DOM对象--元素对象常见属性 2.JS事件 2.1JS事件--入门案例 2.2JS事件--驱动机制 2.3常见JS事件--点击事件 2.4常见JS事件--点击事件 ...

  5. 关于Java集合框架总结

    Java集合专门用来存放多个对象,方便程序处理数据.Java提供了多种集合类,以便满足不同的应用需求,这些集合类分为两大系列:Collection和Map List List的通用方法 boolean ...

  6. Object.prototype.toString.call(obj).slice(8,-1)

    1.Object.prototype.toString() 该方法返回描述某个对象数据类型的字符串,如自定义的对象没有被覆盖,则会返回“[object type]”,其中,type则是实际的对象类型. ...

  7. wireshark的过滤命令

    1.ip.addr == 192.168.1.1 这种是目标地址和源地址都是 后面指定的IP

  8. 62)PHP,提示跳转

    由于就是一个普通的页面展示,提示的样式,可以轻松定制! 语法: Header()后的代码会执行,因此在处理好跳转相关操作后,脚本也应该被DIE掉! 案例中实现跳转 封装一个可以完成跳转的方法,需要时, ...

  9. django框架进阶-auth认证系统-长期维护

    ##################    django的认证系统     ####################### 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要 ...

  10. prototype与__proto__

    __proto__是每个对象都有的一个属性,而prototype是函数才会有的属性!!! 使用Object.getPrototypeOf()代替__proto__!!! 一.prototype 几乎所 ...