2013-12-18 99 views
0

im面臨的問題是我無法從數據庫填充Jqgrid,它只是向我顯示Json格式的數據。無法將數據從數據庫加載到Jquery Grid

視圖(ListarDistritos)

@model IEnumerable<Entidades.Base.ENDistrito> 

<script src="@Url.Content("~/Scripts/Base/modGrid.js")"></script> 
<script src="@Url.Content("~/Content/JqueryGrid/jquery-1.9.0.min.js")"></script> 
<link href="@Url.Content("~/Content/JqueryGrid/jquery-ui-1.9.2.custom.css")" rel="stylesheet" /> 
<script src="@Url.Content("~/Content/JqueryGrid/jquery.jqGrid.js")"></script> 
<link href="@Url.Content("~/Content/JqueryGrid/ui.jqgrid.css")" rel="stylesheet" /> 
<script src="@Url.Content("~/Content/JqueryGrid/grid.locale-en.js")"></script> 

<link href="@Url.Content("~/Content/estilo.css")" rel="stylesheet" /> 

<h2>@ViewBag.Message</h2> 
<table id="grid"> 
</table> 
<div id="pager"></div> 

ModGrid.JS

var lastsel; 
$(document).ready(function() { 
    $("#grid").jqGrid({ 
     url: '/MantDistritos/ListarDistritos', 
     datatype: "json", 
     mtype: 'GET', 
     colNames: ['Id', 'Descripcion'], 
     colModel: [ 
         { 
          name: 'IdDistrito', index: 'IdDistrito', sortable: false, align: 'left', width: '200', 
          editable: true, edittype: 'text' 
         }, 
         { 
          name: 'DescripcionDistrito', index: 'DescripcionDistrito', sortable: false, align: 'left', width: '200', 
          editable: true, edittype: 'text' 
         } 
     ], 
     jsonReader: { 
      repeatitems: false, 
      id: "0" 
     }, 
     pager: jQuery('#pager'), 
     sortname: 'DescripcionDistrito', 
     rowNum: 10, 
     rowList: [10, 20, 25], 
     sortorder: "", 
     height: 125, 
     viewrecords: true, 
     rownumbers: true, 
     caption: 'Distritos', 
     width: 750, 
     editurl: "/Home/PerformCRUDAction", 
     onCellSelect: function (rowid, iCol, aData) { 


      if (rowid && rowid !== lastsel) { 

       if (lastsel) 
        jQuery('#grid').jqGrid('restoreRow', lastsel); 
       jQuery('#grid').jqGrid('editRow', rowid, true); 
       lastsel = rowid; 
      } 
     } 
    }) 
    jQuery("#grid").jqGrid('navGrid', '#pager', { edit: false, add: true, del: true, search: false, refresh: true }, 
      { closeOnEscape: true, reloadAfterSubmit: true, closeAfterEdit: true, left: 400, top: 300 }, 
      { closeOnEscape: true, reloadAfterSubmit: true, closeAfterAdd: true, left: 450, top: 300, width: 520 }, 
      { closeOnEscape: true, reloadAfterSubmit: true, left: 450, top: 300 }); 

}); 

控制器(MantDistritos) public class MantDistritosController:Controller { public JsonResult ListarDistritos() { ViewBag.Message = Resources.Language.Title_Page_MTD_L; var distrito = new LNClientes()。DistritoListar(); return Json(distrito,JsonRequestBehavior.AllowGet); }}

當我執行應用程序,它讓我看到這個

[{"IdDistrito":1,"DescripcionDistrito":"MAGDALENA DEL MAR"},{"IdDistrito":2,"DescripcionDistrito":"JESUS MARIA"},{"IdDistrito":3,"DescripcionDistrito":"PUEBLO LIBRE"},{"IdDistrito":4,"DescripcionDistrito":"LIMA 36"},{"IdDistrito":5,"DescripcionDistrito":"BARRANCO"},{"IdDistrito":6,"DescripcionDistrito":"MIRAFLORES"},{"IdDistrito":7,"DescripcionDistrito":"SAN ISIDRO"},{"IdDistrito":8,"DescripcionDistrito":"SAN JUAN DE LURIGANCHO"},{"IdDistrito":9,"DescripcionDistrito":"SAN JUAN DE MIRAFLORES"},{"IdDistrito":10,"DescripcionDistrito":"LOS OLIVOS"},{"IdDistrito":11,"DescripcionDistrito":"COMAS"},{"IdDistrito":12,"DescripcionDistrito":"SURCO"}] 

但是,這並不表明我Jquery的網格內的任何數據。 如果我使用ActionResult而不是JsonResult,它會向我顯示Jquery網格,但沒有數據。

任何線索,以解決我的問題將不勝感激

謝謝。

回答

0

你的JSON數據似乎很好。我發現沒有錯誤。似乎在您的jsonReader中有錯誤。 ID是列的名稱。它應該是形式

jsonReader : { 
    root:"data", // Here your posted json data 
    page: "currpage", // shows current page 
    total: "totalpages", // total pages 
    records: "totalrecords" // total records 

}的,

這個網址可以幫助你更好地理解。 JsonReader wiki

如果你不想被理會頁,總可以簡單地

jsonReader : { 
    root:"data", 
    page: function(obj) { return 1; }, // page as 1 
    total: function(obj) { return 1; }, // total as 1 
    records: function(obj) { return reponse.length;}, 

},

相關問題