Jquery JqGrid搜索不起作用
这是JqGrid。在这里,GridSearch出现问题。在这里,我使用InvoiceId进行搜索。但它不起作用。但当我单击搜索按钮时,它会显示加载面板 我的数据类型是Json。我看到有一个链接正在工作,我也尝试过这样做,但在我的场景中它不起作用Jquery JqGrid搜索不起作用,jquery,asp.net-mvc,c#-4.0,jqgrid,Jquery,Asp.net Mvc,C# 4.0,Jqgrid,这是JqGrid。在这里,GridSearch出现问题。在这里,我使用InvoiceId进行搜索。但它不起作用。但当我单击搜索按钮时,它会显示加载面板 我的数据类型是Json。我看到有一个链接正在工作,我也尝试过这样做,但在我的场景中它不起作用 $(函数(){ $('#jqgrid').jqgrid({ url:“Sales/GetAllSalesOrders/”, 数据类型:“json”, mtype:'获取', //列名称 colNames:['InvoiceId','CustomerId
$(函数(){
$('#jqgrid').jqgrid({
url:“Sales/GetAllSalesOrders/”,
数据类型:“json”,
mtype:'获取',
//列名称
colNames:['InvoiceId','CustomerId','SubTotal','Total折扣','VAT','NBT','Amount','Balance'],
//柱模型
colModel:[
{name:'InvoiceId',index:'InvoiceId',align:'left'},
{name:'CustomerId',index:'CustomerId',align:'left'},
{name:'SubTotal',index:'SubTotal',align:'left'},
{name:'FullDiscount',index:'FullDiscount',align:'left'},
{名称:'Vat',索引:'Vat',对齐:'left'},
{name:'Nbt',index:'Nbt',align:'left'},
//{name:'Total',index:'Total',align:'left'},
{name:'NetAmount',index:'NetAmount',align:'left'},
{name:'Balance',index:'Balance',align:'left'}
],
寻呼机:$('jqgrid'),
rowNum:10,
sortname:“发票ID”,
排序器:“asc”,
viewrecords:是的,
宽度:“自动”,
高度:“自动”,
rowNum:50,
总数:200,
行列表:[20,30,50,100],
行数:false,
行宽:40,
子网格:对,
//子网格模型
子网格模型:[{
//子网格列名称
//名称:['InvoiceItemId','Quantity','Rate','DiscountAmount','Amount'],
名称:['InvoiceItemId','Quantity'],
宽度:[100100],
对齐:[“左”、“左”],
//数据:{id:id}
}],
//应从中请求子网格数据的url
subGridUrl:“/Sales/GetSalesItemsByVoiceId/”
});
});
$(“#我的搜索”)。单击(函数(){
调试器;
风险值网格=$(“#jqgrid”);
var text=$(“#searchText”).val();
var postdata=grid.jqGrid('getGridParam','postdata');
$.extend(postdata,
{
筛选器:“”,
searchField:'InvoiceId',
searchOper:'eq',
searchString:'文本',
});
jqGrid('setGridParam',{search:true,postData:postData});
触发器(“reloadGrid”,[{page:1}]);
});
首先,您应该将代码中的搜索字符串:“text”替换为搜索字符串:text
。我希望您在服务器端执行搜索(到url:'Sales/GetAllSalesOrders/'
),因为searchField
,searchOper
和searchString
将被发送到服务器,您的服务器代码应该执行搜索。如果需要在客户端使用搜索,则应使用loadonce:true
其次,我建议您将gridview:true
选项添加到网格中,将pager:$(“#jqgrid”)
替换为pager:''jqgrid'
,通过删除不需要的index
属性和align:'left'
简化colModel
<script type="text/javascript">
$(function () {
$('#jqgrid').jqGrid({
url: 'Sales/GetAllSalesOrders/',
datatype: 'json',
mtype: 'GET',
//columns names
colNames: ['InvoiceId', 'CustomerId', 'SubTotal', 'TotalDiscount', 'VAT', 'NBT', 'Amount', 'Balance'],
//columns model
colModel: [
{ name: 'InvoiceId', index: 'InvoiceId', align: 'left' },
{ name: 'CustomerId', index: 'CustomerId', align: 'left' },
{ name: 'SubTotal', index: 'SubTotal', align: 'left' },
{ name: 'FullDiscount', index: 'FullDiscount', align: 'left' },
{ name: 'Vat', index: 'Vat', align: 'left' },
{ name: 'Nbt', index: 'Nbt', align: 'left' },
//{ name: 'Total', index: 'Total', align: 'left' },
{ name: 'NetAmount', index: 'NetAmount', align: 'left' },
{ name: 'Balance', index: 'Balance', align: 'left' }
],
pager: $('#jqgrid'),
rowNum: 10,
sortname: 'InvoiceId',
sortorder: 'asc',
viewrecords: true,
width: 'auto',
height: 'auto',
rowNum: 50,
rowTotal: 200,
rowList: [20, 30, 50, 100],
rownumbers: false,
rownumWidth: 40,
subGrid: true,
//subrid model
subGridModel: [{
//subgrid columns names
// name: ['InvoiceItemId', 'Quantity', 'Rate', 'DiscountAmount', 'Amount'],
name: ['InvoiceItemId', 'Quantity'],
width: [100, 100],
align: ['left', 'left'],
//data: { id: id }
}],
//url from which subgrid data should be requested
subGridUrl: '/Sales/GetSalesItemsByInvoiceId/'
});
});
$("#mySearch").click(function () {
debugger;
var grid = $("#jqgrid");
var text = $("#searchText").val();
var postdata = grid.jqGrid('getGridParam', 'postData');
$.extend(postdata,
{
filters: '',
searchField: 'InvoiceId',
searchOper: 'eq',
searchString: 'text',
});
grid.jqGrid('setGridParam', { search: true, postData: postdata });
grid.trigger("reloadGrid", [{ page: 1 }]);
});
</script>