2010-06-01 67 views
0

我试图在ASP.NET MVC中使用Flexigrid。我需要所有JSON类型的功能(搜索,排序,查找),除了我在我的视图中使用foreach并循环生成表格行。与ASP.NET MVC的jQuery Flexigrid

<table id="gllisting"> 
      <% foreach (var item in Model) 
       { %> 
      <tr> 
       <td> 
        <%= Html.Encode(item.GLCODE) %> 
       </td> 
       <td> 
        <%= Html.Encode(item.DESCRIPT) %> 
       </td> 
       <td> 
        <%= Html.Encode(item.PL_BS) %> 
       </td> 
       <td> 
        <%= Html.Encode(item.LOCCODE) %> 
       </td> 
       <td> 
        <%= Html.Encode(item.SUBLEDGER) %> 
       </td> 
       <td> 
        <%= Html.Encode(item.SALUTATION) %> 
       </td> 
       <td> 
        <%= Html.Encode(item.DEPARTMENT) %> 
       </td> 
      </tr> 
      <% } %> 
     </table> 

现在我使用的脚本块这样

$(document).ready(function() { 
    $("#gllisting").flexigrid({ 
     colModel: [ 
       { display: "Ledger Code", name: "glcode", width: 40, sortable: true, align: "left" }, 
       { display: "Description", name: "name", width: 180, sortable: true, align: "left" }, 
       { display: "Account Type", name: "ac_type", width: 120, sortable: true, align: "left" }, 
       { display: "Cash/Bank Code", name: "loccode", width: 130, sortable: true, align: "left" }, 
       { display: "Subledger", name: "subledgr", width: 80, sortable: true, align: "left" }, 
       { display: "Salutation", name: "salutation", width: 80, sortable: true, align: "left" }, 
       { display: "Department", name: "depmas", width: 80, sortable: true, align: "left" }], 
     buttons: [ 
       { name: "Add", bclass: "add", onpress: test }, 
       { name: "Delete", bclass: "delete", onpress: test }, 
       { separator: true}], 
     searchitems: [ 
       { display: "Ledger Code", name: "glcode" }, 
       { display: "Description", name: "name", isdefault: true}], 
     sortname: "glcode", 
     sortorder: "asc", 
     usepager: true, 
     title: "General Ledger Listing", 
     useRp: true, 
     rp: 15, 
     showTableToggleBtn: true, 
     width: 700, 
     height: 500 
    }); 
}); 

它不工作,请帮助。我无法使用flexigrid。我正在使用jQuery版本1.4.2。

回答

1

回退到较旧版本的jQuery,如版本1.3。我认为它会起作用。

2

我认为你需要2个参数: 网址:“/控制器/动作”, 数据类型:“JSON”

0

这似乎是一个老问题,但我认为这是关系到我的,所以我可以确认第二个回复是正确的。你的JavaScript需要看起来像

$("#flexClients").flexigrid({ 
    url: '/Client/Client/', 
    dataType: 'json', 
    colModel: [ 
    { display: 'Client Id', name: 'Id', width: 100, sortable: true, align: 'center', hide: true }, 
    { display: 'Client #', name: 'Number', width: 100, sortable: true, align: 'center' }, 
    { display: 'Name', name: 'Name', width: 350, sortable: true, align: 'center' }, 
    { display: 'Contact 1', name: 'Contact1', width: 350, sortable: true, align: 'center' }, 
    ], 

所以,你错过了网址和数据类型