2012-03-02 4 views
3

asp.netでJqueryグリッドを使用しようとしていますが、動作していない、グリッドに空のコンテンツが表示されています。ASP.NETのJqueryグリッド

<script type="text/javascript"> 
    $(function() { 
     $("#list").jqGrid({ 
      url: '/WebServices/Admin/WebMethods.ashx', 
      datatype: 'json', 
      mtype: 'POST', 
      colNames: ['ID', 'Name', 'Description'], 
      colModel: [ 
         { name: 'ID', index: 'ID', width: 55 }, 
         { name: 'NAME', index: 'NAME', width: 90 }, 
         { name: 'DESCRIPTION', index: 'DESCRIPTION', width: 80 } 

        ], 
      jsonReader: { 
       repeatitems:false 
       }, 
      pager: $('#pager'), 
      rowNum: 10, 
      rowList: [10, 20, 30], 
      sortname: 'ID', 
      sortorder: 'desc', 
      viewrecords: true, 

      caption: 'Lockups' 
     }).navGrid('#pager'); 
    }); 
</script> 

が続く: はここに私のHTMLコードです

<form runat="server"> 
    <div style="width:700px"> 
     <table id="list" width="100%"> 
      <tr> 
       <td /> 
      </tr> 
     </table> 
     <div id="pager"> 
     </div> 
    </div> 
</form> 

私のC#のコード、イムは、JSONにオブジェクトの私のリストを変換:

public void ProcessRequest(HttpContext context) 
{ 

     context.Response.ContentType = "application/json"; 
     context.Response.Write(GetAllLookups()); 
} 

public string GetAllLookups() 
{ 
    var lst = from lockup in LOCKUP_ITEMS.GetLockups() 
       select new { 
        ID = lockup.ID, 
        NAME = lockup.NAME, 
        DESCRIPTION = lockup.DESCRIPTION 
       }; 

    return Newtonsoft.Json.JsonConvert.SerializeObject(
     lst, 
     new JavaScriptDateTimeConverter()); 
} 
+0

プラグインが正常にリクエストされていますか?あなたのASHXに? Firefox、Fiddler、またはHTTPリクエストを監視するその他のユーティリティ用のFirebugをお持ちの場合は、そこから開始してHTTP呼び出しがデータを取得するかどうかを確認できます。 –

+0

'jsonReader:{repeatitems:false、id:" ID "、ルート:function(obj){return obj; }、ページ:function(){return 1; }、合計:function(){戻り値1; }、レコード:function(obj){return obj.length; }} '。この場合、元のサーバーコードを使用することができます。さらに、ローカルソートをサポートするためにjqGridの 'loadonce:true'オプションを追加し、より良いパフォーマンスのために' gridview:true'を追加し、 'pager:$( '#pager')'を 'pager: '#pager''に置き換えることができます。 – Oleg

答えて

2

jqGridは、特定の形式のJSONデータを期待する次のリンクを試してみる:

{ 
    "total": "xxx", 
    "page": "yyy", 
    "records": "zzz", 
    "rows" : [ 
    {"id" :"1", "cell" :["cell11", "cell12", "cell13"]}, 
    {"id" :"2", "cell":["cell21", "cell22", "cell23"]}, 
     ... 
    ] 
} 

ので、あなたのGetAlLookups方法は、以下に変更します。

public string GetAllLookups() 
{ 
    var list = LOCKUP_ITEMS.GetLockups(); 
    var numOfItems = list.Count(); 

    var result = new { 
        total = numOfItems , 
        page = 1, 
        records = numOfItems , 
        rows = (from lockup in list 
          select new { 
           ID = lockup.ID, 
           NAME = lockup.NAME, 
           DESCRIPTION = lockup.DESCRIPTION 
          }).ToArray() 
       }; 
    return Newtonsoft.Json.JsonConvert.SerializeObject(
     result, 
     new JavaScriptDateTimeConverter()); 
} 
+0

thanx、それは今動作します! –

関連する問題