datatable某列不排序、和自定义搜索、给数据里面加属性
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": ": 以降序排列此列"
}
}
});
现出现需求:datatable自带的搜索框满足不了需求,需要自己动手写搜索语句,并且把数据都已经获取到list集合中了,如何操作?
查看官方文档,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某列不排序、和自定义搜索、给数据里面加属性的更多相关文章
- Datatable+Springmvc+mybatis(分页+排序+搜索)_Jquery
一.简介 通过Jqury的Datatable插件,构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求.同时, jQuery Datatable 强大的功能支持:排序,分页,搜索等. 二.前台分 ...
- DataTable插件指定某列不可排序
datatable是一个jQuery扩展的表格插件.其提供了强大的表格功能. 官方地址:http://www.datatables.NET/ DataTable提供的表格样式里面,第一行都是会有排序功 ...
- [datatable]排序时指定某列不可排序
datatable是一个jquery扩展的表格插件.其提供了强大的表格功能. 官方地址:http://www.datatables.net/ 在官方示例中,对于表格的是否可排序是在初始化中设置的一个值 ...
- jquery DataTable插件使用自定义搜索
$(function () { $("#pk_status").change(function () { valid = $(this).val(); if(valid){ tab ...
- [WPF]ListView点击列头排序功能实现
[转] [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了. ...
- datatable动态列处理,重绘表格(敲黑板,划重点!!!我肝了一天半才彻底弄懂这个东西,TAT)
datatable动态列处理,重绘表格 前言:至于动态列的绘画,我前面博客已经写过了,就是动态列的配置问题,不懂的去我博客看下,今天要写的呢,就是你已经写了一个动态列在datatable,现在你想重新 ...
- [Android分享] 【转帖】Android ListView的A-Z字母排序和过滤搜索功能
感谢eoe社区的分享 最近看关于Android实现ListView的功能问题,一直都是小伙伴们关心探讨的Android开发问题之一,今天看到有关ListView实现A-Z字母排序和过滤搜索功能 ...
- GridView列的排序功能
首先要给GridView设置三个属性 GridView4.AllowSorting = true; GridView4.Attributes.Add("SortExpression" ...
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
转载:http://blog.csdn.net/xiaanming/article/details/12684155 转载请注明出处:http://blog.csdn.net/xiaanming/ar ...
随机推荐
- myeclipse 编写java代码提示 dead code 原因
经常使用MyEclipse或Eclipse编辑器编写java代码的程序员,可能经常遇到一个黄线警告提示:dead code:一般程序员遇到这些问题都会置之不理,反正也不影响程序的编译执行.对,这不是b ...
- php 连接oracle插入多张图片的方法
php连接oracle数据库的时候,其查询.更新.删除数据和MySQL类似,但是增加数据.特别是图片的时候就很不一样,这里面涉及到要创建一个blob对象,用blod对象去保存php图片,下面是当插入多 ...
- MRP自动运算设置
1.执行计划-删除老的调度计划: 2.运算日志-清除冲突: 3.MRP计划运算向导,清除预留: 4.创建MRP凌晨调度任务,名称自己修改: 5.创建完成: 6.设置消息通知:
- The Maximum Unreachable Node Set
题目描述 In this problem, we would like to talk about unreachable sets of a directed acyclic graph G = ( ...
- 简化Java编程的法宝,让工作更高效
如果你没有看过之前的文章,也不要紧,这并不影响你对接下来的内容的理解,不过为了照顾直接看到第二篇的同学,还是有必要介绍一下HuTool的引入方式. 在项目的pom.xml的dependencies中加 ...
- keras使用、函数功能
#1. keras.engine.input_layer.Input() def Input(shape=None, batch_shape=None, name=None, dtype=None ...
- python后端面试第六部分:git版本控制--长期维护
################## git版本控制 ####################### 1,git常见命令作用 2,某个文件夹中的内容进行版本管理:进入文件夹,右键git bash 3, ...
- centos 中文乱码解决办法
缘由:本人在虚拟机中安装centos 5.3,起初安装时选择了english,后来使用的过程中发现打开网页,会出现中文乱码,无法正常显示.当然,本地文件中的中文更是无法显示. 若是将系统语言langu ...
- CAD安装错误1625:系统策略禁止这个安装,请与系统管理员联系。
在安装Autodesk CAD/3DMAX/Maya/Revit/Inventor等的时候,出现“安装错误1625:系统策略禁止这个安装,请与系统管理员联系.”,或是Error 1625,同时还会提示 ...
- smarty应用1 之 模板进行数学运算,保留小数位数
例子1 乘法除法运算: 1格式:{$number|number_format} 保留小数点后2位小数. {$v/$total*100|string_format:"%0.2f"|c ...