title: Custom property of jqgrid cannot be changed?
body: <p>I want to use a custom property of jqgrid to persist some ASP.NET session value on the page, but cannot seem to get it working.</p>
  
  <p>The grid is defined as below, with a custom property called "MyVariable".</p>
  
  <pre><code>$("#myGrid").jqGrid({
      url: RootAbsolutePath + "Customer/GetCustomerList",
      datatype: "json",
      mtype: 'POST',
      page: 1,
      rowNum: 10,
      rowList: [10, 20, 30],
      pager: $("#myPager"),
      toppager: true,
      colNames: column_names,
      colModel: [
          { name: "CUSTOMERNUMBER", index: "CUSTOMERNUMBER", width: 150, align: "center", "formatter": customerEditLink },
          { name: "DEALERSHIPID", index: "DEALERSHIPID", width: 150, align: "center", stype: "select", searchoptions: { "value": dealerShopSelector} },
          { name: "IDENTITYNUMBER", index: "IDENTITYNUMBER", width: 150, align: "center" },
          { name: "CUSTOMERNAME", index: "CUSTOMERNAME", width: 150, align: "left" },
          { name: "CUSTOMERTYPE", index: "CUSTOMERTYPE", width: 120, align: "center", "stype": "select", "searchoptions": { "value": typeSelector} },
          { name: "MOBILE", index: "MOBILE", width: 120, align: "center" },
          { name: "ADDRESS", index: "ADDRESS", width: 400, align: "left" },
      ],
      autowidth: true,
      shrinkToFit: false,
      height: "100%",
      viewrecords: true,
      hoverrows: true,
      sortname: "CUSTOMERNAME",
      sortorder: "asc",
      MyVariable: "Hello World!"
  });
  </code></pre>
  
  <p>In the Controller, I set the value for MyVariable and return as Json data, hoping to persist the value on the grid:</p>
  
  <pre><code>    public JsonResult GetCustomerList()
      {
          var model = new someModel();
          List&lt;object&gt; listOfObjects = new List&lt;object&gt;();
          // do something with the model and get data into listOfObjects
  
          var jsonData = new
          {
              total = model.TotalPages,
              page = model.page,
              records = model.totalRecords,
              MyVariable = "Hello Controller!",          
              rows = listOfDataObjects
          };
  
          return Json(jsonData, JsonRequestBehavior.AllowGet);
       }
  </code></pre>
  
  <p>Now try to access this variale after the page loaded. </p>
  
  <pre><code>var $grid = $('#myGrid');
  alert($grid.jqGrid('getGridParam', 'MyVariable'));
  </code></pre>
  
  <p>It always shows "Hello World", not "Hello Controller!". Does this mean the custom property can not be changed after grid is loaded?</p>
  
  <p>Secondly, in this example if the user selects the CUSTOMERTYPE column header to filter the data, how do I get that filtered criteria value?</p>
  
  <p>I am new to jqGrid and it's maddening to get the simple thing to work. Any help is really appreciated!</p>