Jquery JqGrid搜索不起作用

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。在这里,GridSearch出现问题。在这里,我使用InvoiceId进行搜索。但它不起作用。但当我单击搜索按钮时,它会显示加载面板

我的数据类型是Json。我看到有一个链接正在工作,我也尝试过这样做,但在我的场景中它不起作用


$(函数(){
$('#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>