jQWidgets Forums

jQuery UI Widgets Forums Grid Serial number column in grid

This topic contains 1 reply, has 2 voices, and was last updated by  Dimitar 11 years, 3 months ago.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
  • Serial number column in grid #50148

    basim.sherif
    Participant

    Is there any way we can add a serial number column in jqxgrid? So that the row numbers are generated automatically?
    Thank you

    Serial number column in grid #50210

    Dimitar
    Participant

    Hello basim.sherif,

    Please check out the following example, based on the demo Spreadsheet:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
        <script type="text/javascript" src="../../scripts/jquery-1.10.2.min.js"></script>
        <script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script>
        <script type="text/javascript" src="../../jqwidgets/jqxdata.js"></script>
        <script type="text/javascript" src="../../jqwidgets/jqxdata.export.js"></script>
        <script type="text/javascript" src="../../jqwidgets/jqxbuttons.js"></script>
        <script type="text/javascript" src="../../jqwidgets/jqxscrollbar.js"></script>
        <script type="text/javascript" src="../../jqwidgets/jqxmenu.js"></script>
        <script type="text/javascript" src="../../jqwidgets/jqxgrid.js"></script>
        <script type="text/javascript" src="../../jqwidgets/jqxgrid.edit.js"></script>
        <script type="text/javascript" src="../../jqwidgets/jqxgrid.selection.js"></script>
        <script type="text/javascript" src="../../jqwidgets/jqxgrid.columnsresize.js"></script>
        <script type="text/javascript" src="../../jqwidgets/jqxgrid.export.js"></script>
        <script type="text/javascript" src="../../scripts/demos.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                // renderer for grid cells.
                var numberrenderer = function (row, column, value) {
                    return '<div style="text-align: center; margin-top: 5px;">' + (1 + value) + '</div>';
                }
    
                // create Grid datafields and columns arrays.
                var datafields = [];
                var columns = [];
                for (var i = 0; i < 26; i++) {
                    var text = String.fromCharCode(65 + i);
                    if (i == 0) {
                        var cssclass = 'jqx-widget-header';
                        if (theme != '') cssclass += ' jqx-widget-header-' + theme;
                        columns[columns.length] = { pinned: true, exportable: false, text: "", columntype: 'number', cellclassname: cssclass, cellsrenderer: numberrenderer };
                    }
                    datafields[datafields.length] = { name: text };
                    columns[columns.length] = { text: text, datafield: text, width: 60, align: 'center' };
                }
    
                var source =
                {
                    unboundmode: true,
                    totalrecords: 100,
                    datafields: datafields,
                    updaterow: function (rowid, rowdata) {
                        // synchronize with the server - send update command   
                    }
                };
    
                var dataAdapter = new $.jqx.dataAdapter(source);
    
                // initialize jqxGrid
                $("#jqxgrid").jqxGrid(
                {
                    width: 670,
                    source: dataAdapter,
                    editable: true,
                    columnsresize: true,
                    selectionmode: 'multiplecellsadvanced',
                    columns: columns
                });
                $("#addRow, #excelExport").jqxButton({ theme: theme });
                $("#excelExport").click(function () {
                    $("#jqxgrid").jqxGrid('exportdata', 'xls', 'jqxGrid', false);
                });
                $("#addRow").click(function () {
                    $("#jqxgrid").jqxGrid('addrow', null, {});
                });
            });
        </script>
    </head>
    <body class='default'>
        <button id="addRow" style="margin-bottom: 20px;">
            Add new row</button>
        <div id='jqxWidget'>
            <div id="jqxgrid">
            </div>
            <div style='margin-top: 20px;'>
                <div style='float: left;'>
                    <input type="button" value="Export to Excel" id='excelExport' />
                </div>
            </div>
        </div>
    </body>
    </html>

    Best Regards,
    Dimitar

    jQWidgets team
    http://www.jqwidgets.com/

Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.