Wednesday, April 11, 2018

JQGrid in an ASP.Net Application

JQGrid is a light weighted and open source grid developed in JavaScript Jquery to fill data from the database.
Download the JQ Grid js file go to the following site: http://www.trirand.com/blog/?page_id=6.
1.Create a web method in Home.aspx.cs file and it should return json data to the UI. But, for the demo purpose i am creating an array and loading the data.
2.Add this code in to Home.aspx file first call all the related JQ Grid related js files.
<script src="../js/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="../js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="../js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="../Scripts/json2-min.js" type="text/javascript"></script>
After that for the JQ Grid paste The following code:
<script type="text/javascript">
    $(document).ready(function () {
        jQuery("#list1").jqGrid({
            datatype: "local",          
            colNames: ['Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Notes'],
            colModel: [
                     { name: 'id', index: 'id', width: 60, sorttype: "int" },
                     { name: 'invdate', index: 'invdate', width: 90, sorttype: "date" },
                     { name: 'name', index: 'name', width: 100 },
                     { name: 'amount', index: 'amount', width: 80, align: "right", sorttype: "float" },
                     { name: 'tax', index: 'tax', width: 80, align: "right", sorttype: "float" },
                     { name: 'total', index: 'total', width: 80, align: "right", sorttype: "float" },
                     { name: 'note', index: 'note', width: 150, sortable: false }
               ],
            multiselect: true,
            rowNum: 10,
            rowList: [5, 10, 20, 50, 100],
            pager: jQuery('#pager1'),
            sortorder: "desc",
            viewrecords: true,        
            caption: "Manipulating Array Data in to JQGrid"
        });     

        var mydata = [
             { id: "1", invdate: "2007-10-01", name: "test1", note: "note", amount: "200.00", tax:"10.00", total:
"210.00" },

             { id: "2", invdate: "2007-10-02", name: "test2", note: "note2", amount: "300.00", tax:"20.00", total: "320.00" },

             { id: "3", invdate: "2007-09-01", name: "test3", note: "note3", amount: "400.00", tax:"30.00", total: "430.00" },

             { id: "4", invdate: "2007-10-04", name: "test4", note: "note", amount: "200.00", tax:"10.00", total: "210.00" },

             { id: "5", invdate: "2007-10-05", name: "test5", note: "note2", amount: "300.00", tax:"20.00", total: "320.00" },

              { id: "6", invdate: "2007-09-06", name: "test6", note: "note3", amount: "400.00", tax:"30.00", total: "430.00" },

             { id: "7", invdate: "2007-10-04", name: "test7", note: "note", amount: "200.00", tax:"10.00", total: "210.00" },

             { id: "8", invdate: "2007-10-03", name: "test8", note: "note2", amount: "300.00", tax:"20.00", total: "320.00" },

             { id: "9", invdate: "2007-09-01", name: "test9", note: "note3", amount: "400.00", tax:"30.00", total: "430.00" }

             ];

        for (var i = 0; i <= mydata.length; i++)

            jQuery("#list1").jqGrid('addRowData', i + 1, mydata[i]);


            });
 //    });
        
</script>
3.Add this inside the body 

<table id="list1" ></table>
<div id="pager1" ></div>
4. Result: So in this example we have seen how to bind the value from an array to a JQ Grid.