我是jqGrid的首发,我在ASP.NET
中为build jqGrid编写了这段代码var grid = $('#list');
grid.jqGrid({
url: 'jQGridHandler.ashx',
postData: { ActionPage: 'CostTypes', Action: 'Fill' },
ajaxGridOptions: { cache: false },
direction: "rtl",
datatype: 'json',
height: 490,
colNames: ['CostId', 'CostNo', 'CostName', 'Remark '],
colModel: [
{ name: 'COST_ID', width: 100, sortable: true, search:true, editable: false,
hidden: true, key: true, index: 'COST_ID' },
{ name: 'COST_NO', width: 100, sortable: true, editable: true },
{ name: 'COST_NAME', width: 350, sortable: true, editable: true },
{ name: 'REMARK', width: 300, sortable: true, editable: true }
],
gridview: true,
rowNum: 30,
rowList: [30, 60, 90],
pager: '#pager',
sortname: 'COST_ID',
viewrecords: true,
rownumbers: true
});
grid.jqGrid('navGrid', '#pager', { add: false, edit: false, del: true, search: true },
{},
{},
{ url: "JQGridHandler.ashx?ActionPage=CostTypes&Action=Delete",
reloadAfterSubmit: false },
{ multipleSearch: true});
当点击搜索图标并显示搜索框时输入文字示例costNo=1
jqGrid不过滤我认为此操作无效,请帮我在jqGrid中进行implimet搜索
谢谢所有
编辑01:当我添加loadonce: true
搜索工作但删除此选项时搜索不起作用,请帮助我。感谢
答案 0 :(得分:2)
如果您使用loadonce: true
,数据将加载到网格一次。之后,datatype
将更改为"local"
,重新加载,排序,搜索(过滤)等所有操作都将在本地实施,而无需与服务器进行通信。
如果用户开始搜索网格将被重新加载。如果您使用url: 'jQGridHandler.ashx', datatype: 'json'
,则新请求将发送到网址jQGridHandler.ashx
。一些其他参数通知服务器应该过滤数据,_search
参数将设置为true
。由于您使用multipleSearch: true
,因此有关搜索过滤器的其他信息将在另一个参数filters
中发送。它是JSON格式的字符串。格式在the documentation中描述。因此服务器必须解码filters
参数并过滤网格数据(通常根据WHERE
参数的值构造SELECT
SQL语句的filters
部分
在the answer中,您可以找到代码示例,并可以下载the demo project。