【问题标题】:jqGrid: Search box is disabled!jqGrid:搜索框被禁用!
【发布时间】:2011-02-13 11:19:29
【问题描述】:

我是 jqGrid 和 Stack Overflow 的新手。 好吧,我对 jqGrid SearchBox 有疑问。为什么在禁用模式下显示搜索框?

这是我的代码。

jQuery(document).ready(function(){
   var jsonData = '{"StartDate":"01/01/2009", "EndDate":"12/12/2010", "DateFormat":"dd/MM/yyyy", "BatchId":"21"}';
    jQuery("#attendance-grid").jqGrid({
        datatype: "json",
        mtype: "POST",
        url: "url/function",
        postData: jsonData,
        ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
        search: true,
        multipleSearch : true,
        jsonReader: {
            root: function (obj) { return obj.d.rows; },
            page: function (obj) { return obj.d.page; },
            total: function (obj) { return obj.d.total; },
            records: function (obj) { return obj.d.records; }
        },
        height: 'auto',
        rowNum: 10,
        rowList: [10,20,30],
        colNames:['Date', 'Batch', 'Enroolment No.', 'FName', 'MName', 'LName', 'Branch'],
        colModel:[
            {name:'date',index:'date', width:90, sorttype:"date", datefmt: 'm/d/Y', formatter:"date"},
            {name:'batch_name',index:'batch_name', width:150, sortable:true},
            {name:'Stud_EnrollNo',index:'Stud_EnrollNo', width:100, sortable:true},
            {name:'stud_fname',index:'stud_fname', width:80, sortable:true},
            {name:'stud_mname',index:'stud_mname', width:80, sortable:true},
            {name:'stud_lname',index:'stud_lname', width:80, sortable:true},
            {name:'currbranch',index:'currbranch', width:50, sortable:false}
        ],
        pager: "#pattendance-grid",
        loadtext: 'Loading...',
        sortname: 'stud_fname',
        viewrecords: true,
        gridview: true,
        rownumbers: true,
        sortorder: 'desc',
        grouping:true,
        groupingView : {
            groupField : ['stud_fname'],
            groupColumnShow : [true],
            groupText : ['<b>{0} - {1} Item(s)</b>'],
            groupCollapse : true,
            groupOrder: ['desc']
        },
        caption: "Attendance Report"
    }).navGrid('#pattendance-grid',
        { search:true,
            view: true,
            del: false,
            add: false,
            edit: false,
            searchtext:"Search" },
        {}, // default settings for edit
        {}, // default settings for add
        {}, // delete
        {closeOnEscape: true, multipleSearch: true,
              closeAfterSearch: true }, // search options
        {}
    );

【问题讨论】:

标签: jqgrid


【解决方案1】:

可能您的主要问题是您以错误的方式使用postData 参数。如果使用 is 作为字符串,则 postData 覆盖 所有其他典型的 jqGrid 参数。尝试将postData参数改为

postData: {
    StartDate:"01/01/2009",
    EndDate:"12/12/2010",
    DateFormat:"dd/MM/yyyy",
    BatchId:21
}

此外,您不应该将multipleSearch:true 用作jqGrid 参数:只有在navGrid 函数的参数内部才有意义。

你还需要的是

serializeRowData: function (data) {return JSON.stringify(data);}

其中JSON.stringify 是来自here 的json2.js 的一部分

【讨论】:

  • 哦,谢谢你的快速响应 thnq vry mch,我很快就会再次回到你身边 1 thnq ..
  • 嗨,奥列格,我还在那儿(有问题),我不知道为什么以及问题出在哪里......还有一件事,因为你给出了 postdata 的建议,在这种情况下网格不起作用..正如我注意到 StartDate,EndDate 不是预定义的参数,所以这可能是一个问题... plzzzzzzz 做点什么..
  • @Ankit:如果服务器没有读取数据,我不明白你为什么要发送这样的jsonData。我想您在服务器端使用 ASMX Web 服务。您应该发布服务器部分的代码。查看*.com/questions/3169408/… 或下载工作示例ok-soft-gmbh.com/jqGrid/WebServicesPostToJqGrid.zip
  • hiii Oleg 我又发布了 1 个 sn-p 请看看并帮助我.. 这是链接 *.com/questions/4994424/…