jQWidgets Grid Export Test

by _stephan_

HTML

<script src="http://jqwidgets.com/jquery-widgets-demo/jqwidgets/jqx-all.js"></script>
<link rel="stylesheet" href="http://jqwidgets.com/jquery-widgets-demo/jqwidgets/styles/jqx.base.css">
<link rel="stylesheet" href="http://jqwidgets.com/jquery-widgets-demo/jqwidgets/styles/jqx.fresh.css">
<div id="myApp"></div>

CSS

body {
    background-color: #ffe;
}
#myApp {
    position: absolute;
    top: 20px;
    left: 20px;
    bottom: 20px;
    right: 20px;
}

JavaScript

var myTable = $('<div id="myTable"></div>')
$('#myApp').append(myTable);

$('#myApp').append($('<button>Export to XLS</button>').on('click', function () {
    try {
        var result = myTable.jqxGrid('exportdata', 'xls');
        $('#myApp').append('<div>' + result + '</div>');
    } catch (e) {
        $('#myApp').append('<div>EXCEPTION: ' + e.name + ": " + e.message + '</div>');
        $('#myApp').append('<div>' + e.stack + '</div>');
    }
}));
// prepare the data
var source = {
    localdata: [
        ["Futterkiste", "Maria Anders", "Germany"],
        ["Emparedados y helados", null, "Mexico"],
        ["Trujillo Emparedados", "Ana Trujillo", "Mexico"],
        ["Eten bij Michel", "Michel", "Netherlands"],
        ["One & Only", "Marcel Groen", "Germany"],
        ["Bellini", "Pedrazzetti", "Switzerland"]
    ],
    datafields: [{
        name: 'Company',
        map: '0',
    }, {
        name: 'Contact',
        map: '1',
    }],
    datatype: "array"
};
// create the grid
myTable.jqxGrid({
    source: new $.jqx.dataAdapter(source),
    width: 500,
    height: 240,
    sortable: true,
    filterable: true,
    columns: [{
        text: 'Company Name',
        datafield: 'Company'
    }, {
        text: 'Contact Name',
        datafield: 'Contact'
    }]
});