2014-01-27 2 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.

Я получаю данные из pagemethod, которые должны быть переданы в jqGrid через dataget переменной.

Я хочу отобразить эти данные в 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 внутри if (dataget! = "Error") {...} перед загрузкой сетки, просто чтобы узнать, что вы получаете. А второй - изменить «data: trialData» на «data: dataget». –

+0

В предупреждении о его отображении [object Object] –

0

Сначала проанализируйте свой json. А потом обратитесь к его собственности.

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

Это не сработало. Ни одно предупреждение не отображается. –

Смежные вопросы