2014-01-27 121 views
0

我已經做了下面的代碼結合jqGrid的jqGrid沒有映射JSON字符串

function fnAddDetails() { 
      debugger; 
      var content = {}; 
      content.name = $("#txtName").val(); 
      //content.dob = $("#txtDOB").val(); 
      content.group = $("#ddlGroup option:selected").text(); 
      content.active = "InActive"; 
      content.age = age; 
      if ($("#chkActive").attr("checked")) { 
       content.active = "Active"; 
      } 
      var jsonText = JSON.stringify(content); 
      debugger; 
      $.ajax({ 
       type: "POST", 
       url: "Test_sspl142_jQuery_JavaScript.aspx/GetDate", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       data: jsonText, 
       success: function(data) { 
        debugger; 
        var dataget = $.parseJSON(data.d); 
        var trialData = { "data": [{ "name": "Pratik", "group": "gold", "active": "ACTIVE", "age": "25"}] }; 
        //var trialData = { "name": "Pratik", "group": "gold", "active": "ACTIVE", "age": "25" }; 

        if (dataget != "error") { 
         $("#tblData").jqGrid({ 
          datatype: 'local', 
          data: trialData, 
          colNames: ['Name', 'Group', 'Active', 'Age'], 
          colModel: [ 
          { name: 'name', index: 1, width: 70 }, 
          { name: 'group', index: 2, width: 90 }, 
          { name: 'active', index: 3, width: 100 }, 
          { name: 'age', index: 4, width: 80, align: "right" } 
          ], 
          rowNum: 10, 
          rowList: [10, 20, 30, 40], 
          viewrecords: true, 
          width: 500, 
          height: 200, 
          defaults: { 
           emptyrecords: "No records to view", 
           loadtext: "Loading..." 
          } 
         }); 
        } 
        else { 
         alert("Error While Assigning to jQGrid!"); 
        } 
       }, 
       error: function(ex) { 
        alert("Error Occured while saving data in grid..." + ex); 
        //return false; 
       } 
      }); 
      //return false; 
     } 

正在顯示jqGrid但數據不與獲得綁定。

我想這個問題肯定是與json數據。

我從應通過dataget變量傳遞到jqGridpagemethod獲取數據。

我想將這些數據顯示到jqGrid

+0

手動使用單獨的'$ .ajax'並不好。 jqGrid可以爲你做到這一點。然而,如果網格的結果輸入數據看起來像'var trialData = {「data」:[...]};'那麼你應該使用'data:trialData.data'而不是'data:trialData'。這是你的主要問題。順便說一句,你需要使用'dataget = $ .parseJSON(data.d)'的事實間接地表明你的服務器代碼有一個錯誤:你不需要**手動將對象轉換爲JSON字符串。如果你有ASMX網絡服務,你應該返回**對象**,而不需要手動轉換爲JSON。 ASP.NET爲你做所有事情。 – Oleg

回答

0

您會收到數據嗎?你收到你的期望?只需打印出數據並檢查您獲得的格式和您的預期。 jqGrid有很好的文檔記錄,可以看看一些使用固定數據的例子以及必須傳遞給網格的格式化字符串。

+0

是的,我正在從'pagemethod'接收數據。但不是以例如**'traildata' **變量。 –

+0

兩件事 - 在加載網格之前警告你的json,如果(dataget!=「error」){...},只是爲了知道你得到了什麼。第二次將「data:trialData」更改爲「data:dataget」。 –

+0

在提醒其顯示[對象對象] –

0

首先解析你的json。然後參考它的屬性。

var dataget = $.parseJSON(data).d; 
+0

它沒有奏效。警報沒有顯示。 –