0

I have implemented the JqGrid in my application. I have done the edit,delete, insert operations but I am failing in searching the records. I have bind the data from the sql server.

Here is my script

<script type="text/javascript">
    jQuery(document).ready(function () {
        jQuery.extend(jQuery.jgrid.edit, {
            closeAfterEdit: true,
            closeAfterAdd: true,

            ajaxEditOptions: { contentType: "application/json" },
            serializeEditData: function (postData) {
                var postdata = { 'data': postData };
                return JSON.stringify(postdata); ;
            }
        });
        jQuery.extend(jQuery.jgrid.del, {
            ajaxDelOptions: { contentType: "application/json" },

            onclickSubmit: function (eparams) {
                var retarr = {};
                var sr = jQuery("#contactsList").getGridParam('selrow');
                rowdata = jQuery("#contactsList").getRowData(sr);
                retarr = { PID: rowdata.PID };

                return retarr;
            },
            serializeDelData: function (data) {
                var postData = { 'data': data };
                return JSON.stringify(postData);
            }
        });
        $.extend($.jgrid.defaults,
              { datatype: 'json' }
              );

        jQuery.extend(jQuery.jgrid.search, {

        });


        $("#contactsList").jqGrid({

            url: '/WebService.asmx/GetListOfPersons1',

            datatype: 'json',

            mtype: 'POST',

            ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
            serializeGridData: function (postData) {

                return JSON.stringify(postData);
            },

            jsonReader: { repeatitems: false, root: "d.rows", page: "d.page", total: "d.total", records: "d.records" },
            colNames: ['PID', 'First Name', 'Last Name', 'Gender'],
            colModel: [
                { name: 'PID', width: 60, align: "center", hidden: true, searchtype: "integer", editable: true },
                { name: 'FirstName', width: 180, sortable: true, hidden: false, editable: true },
                { name: 'LastName', width: 180, sortable: false, hidden: false, editable: true },
                { name: 'Gender', width: 180, sortable: false, hidden: false, editable: true, cellEdit: true, edittype: "select", formater: 'select', editrules: { required: true },
                    editoptions: { value: getAllSelectOptions() }
                }],
            rowNum: 10,
            rowList: [10, 20, 30],
            sortname: 'PID',
            sortorder: "asc",
            pager: jQuery('#gridpager'),
            viewrecords: true,
            gridview: true,
            height: '100%',
            editurl: '/WebService.asmx/EditRow',
          //  searchurl: '/WebService.asmx/Searchrow',
            caption: 'Person details'
        }).jqGrid('navGrid', '#gridpager', { edit: true, add: true, del: true, search: true });
        jQuery("#contactsList").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, searchOperators: true });
        // jQuery("#contactsList").setGridParam({ data: results.rows, localReader: reader }).trigger('reloadGrid');
        jQuery("#contactsList").jqGrid('setGridParam', { url: "WebService.asmx/searchrow", page: 1 }).trigger("reloadGrid");
    });
function getAllSelectOptions() {
    var states = { 'male': 'M', 'female': 'F' };

    return states;

}

</script>

Here I have given the reference for searching in my asmx file like WebService.asmx/searchrow when I click the find button in the popup the cursor is moving to the specified method in the url. Here is my question how can I get the user entered search parameter name and value to that method to perform the search operation .

I have defined the searchrow method like following

  [WebMethod]
   public List<Person> searchrow(HttpContext context)
   {
       return null;
   }

Please help me to out from this problem or any other alternative to do the search operation in JQGrid.

thanks purna

Purna
  • 57
  • 1
  • 2
  • 10
  • @oleg please help me to out from this... – Purna May 26 '14 at 11:35
  • please any one help me regarding search operation in Jqgrid.... – Purna May 27 '14 at 05:32
  • [the old answer](http://stackoverflow.com/a/5501644/315935) provide an example of implementation of server side searching/filtering. You should understood that one need to use *server side* searching only in case of really large number of rows (>100000 for example). Filtering of some thousand rows works very good on the *client* side . – Oleg May 31 '14 at 11:04

0 Answers0