如何使jqGrid工具栏搜索在任何事件中寻找at,而不仅仅是开始
How to make the "jqGrid toolbar search" search for the at in any occurrence, not just the beginning
我已经实现了一个启用了工具栏搜索的jqGrid。问题是搜索的工作方式类似于'%search_criteria'(只从开始匹配)但我需要它像'%search_criteria%'(任何出现在列值)。
e。g:网格有一个列"Class",它的值是:Math-101和Math-102如果搜索:"101" ==>得到零匹配。我必须搜索整个单词"Math-101"
我看到了一个像我一样工作的例子,它和我的网格没有什么不同,我不知道它是如何在下面的例子中工作的,而不是我的!!示例:http://www.ok-soft-gmbh.com/jqGrid/SimpleLocalGridWithSearchingToolbar.htm
我的网格:
var data = [[1, "Math-101", "OC", "INTEL", "09-02-15", "09-30-15", "A", 120, "General", 200]]
$("#grid").jqGrid({
datatype: "local",
height: 200,
colNames:['#','Class','Loc','Type','Start Dt','End Dt','Section','Dur','Gen/Priv','Fee'],
colModel: [
{name: 'scheduleID', index: 'scheduleID', width: 30},
{name: 'className', index: 'className', width: 60},
{name: 'Location', index: 'Location', width: 60},
{name: 'classType', index: 'classType', width: 60},
{name: 'startDt', index: 'startDt', width: 60, sorttype: "date",
searchoptions:{dataInit:function(el){$(el).datepicker({dateFormat:'yy-mm-dd'});} }},
{name: 'endDt', index: 'endDt', width: 60, sorttype: "date",
searchoptions:{dataInit:function(el){$(el).datepicker({dateFormat:'yy-mm-dd'});} }},
{name: 'section', index: 'section', width: 60},
{name: 'duration', index: 'duration', width: 60},
{name: 'scheduleType', index: 'scheduleType',width: 60},
{name: 'Fee', index: 'Fee', width: 60, formatter:'number', align:'right'}
],
pager: '#pager',
rowNum: 10,
rowList: [10, 20, 30],
rownumbers: true,
sortname: "Class",
sortorder: "desc",
viewrecords: true,
gridview: true,
ignoreCase: true,
autoencode: true,
autowidth: true,
ExpandColClick: true,
caption: "Schedule List"
});
var names = ['scheduleID', 'className', 'Location', 'classType', 'startDt', 'endDt', 'Section', 'duration', 'scheduleType', 'Fee', 'CEU', 'Status', 'IFee', 'TCost', 'FCost', 'MCost', 'OMCost'];
var mydata = [];
for (var i = 0; i < data.length; i++) {
mydata[i] = {};
for (var j = 0; j < data[i].length; j++) {
mydata[i][names[j]] = data[i][j];
}
}
for (var i = 0; i <= mydata.length; i++) {
$("#grid").jqGrid('addRowData', i + 1, mydata[i]);
}
$("#grid").jqGrid('filterToolbar', { stringResult: true, searchOperators: false, searchOnEnter: false, autosearch: true, defaulySearch: "cn" });
应将defaulySearch: "cn"
替换为defaultSearch: "cn"
。它应该解决主要的搜索问题。你应该考虑使用jqGrid的ignoreCase: true
选项来强制jqGrid使用不区分大小写的搜索。
另外,我强烈建议不要在循环中使用addRowData
来填充jqGrid。相反,您应该在创建网格之前移动填充网格数据mydata
的代码,并仅使用选项data: mydata
。它将创建带有填充数据的数据。将显示排序数据的第一页。jqGrid将在数据显示之前对其进行排序。
小附加说明:您应该将sortname: "Class"
修复为sortname: "className"
。我建议您从colModel
中删除所有index
值。您可以考虑使用cmTemplate: { width: 60 }
选项(参见答案),它将colModel
中的属性width
的默认值从150更改为60。之后,您可以从colModel
中删除所有width: 60
。我建议将sorttype: 'number'
添加到使用formatter:'number'
的列中。它将修复列中的排序。您可以考虑为包含日期的两列定义template
(参见答案)。
- 正在寻找比$(document).ready慢的$(window).load的替代方案
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- @@(“at at”)在ES6 JavaScript中是什么意思
- 在Meteor Mongo中寻找价值
- 寻找一个免费的交互式美国地图与突出显示的州
- 正在寻找一种跨移动浏览器兼容的方式,通过内置麦克风进行录制
- 正在寻找一个插件来创建平面图
- 正在寻找从JSON/对象构建DOM客户端的JS库
- 正在寻找一个非常简单的例子UpdateListItems与Sharepoint2007的SPservices
- 寻找使用Javascript从Kendo UI时间选择器中减去时间的更好替代方案
- 寻找快速流动内容的想法
- 寻找HTML5视频是否需要加载整个文件
- 寻找一个好的答案字符串圆形物体
- 正在寻找具有多种功能的文本编辑器
- 正在寻找一个好的在线JS obsfucator只用于缩小的目的
- 如何在HTML5视频中获得寻找事件的起点
- 寻找好的标签库
- JavaScript 遍历 DOM 寻找特定的 Aria-label
- 两个听众与 At.js
- 如何使jqGrid工具栏搜索在任何事件中寻找at,而不仅仅是开始