0 votes

jQuery Flexigrid avec ASP.NET MVC

J'essaie d'utiliser Flexigrid avec ASP.NET MVC. J'ai besoin de toutes les fonctionnalités de type JSON (recherche, tri, découverte), sauf que j'utilise foreach dans ma vue et une boucle pour générer les lignes du tableau.

<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>

Maintenant j'utilise un bloc script comme ceci

$(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
    });
});

Cela ne fonctionne pas. Je ne parviens pas à utiliser flexigrid. J'utilise la version 1.4.2 de jQuery.

2voto

Alex K Points 61

Je pense que vous avez besoin de 2 paramètres supplémentaires : url : '/Controller/Action', dataType : 'json'.

1voto

shrikant Points 26

Revenir à une version plus ancienne de jQuery, comme la version 1.3. Je pense que cela fonctionnera.

0voto

Naomi Points 101

Cette question semble être ancienne, mais je la considère comme liée à la mienne. Je peux donc confirmer que la deuxième réponse est correcte. Votre JavaScript doit ressembler à

$("#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' },
    ],

Donc, il vous manque url et dataType.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X