jqGrid:搜索框被禁用!

时间:2011-02-13 11:19:30

标签: jqgrid

我是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
        {}
    );

1 个答案:

答案 0 :(得分:0)

可能您的主要问题是您以错误的方式使用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的一部分