igGrid - export to csv
by georgianastasov
HTML
<script src="https://igniteui.com/js/modernizr.min.js"></script>
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="https://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
<script src="https://cdn-na.infragistics.com/igniteui/latest/js/infragistics.core.js"></script>
<script src="https://cdn-na.infragistics.com/igniteui/latest/js/infragistics.lob.js"></script>
<script src="https://igniteui.com/data-files/adventureworks.min.js"></script>
<link href="https://cdn-na.infragistics.com/igniteui/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet"></link>
<link href="https://cdn-na.infragistics.com/igniteui/latest/css/structure/infragistics.css" rel="stylesheet"></link>
<table id="grid"></table>
<input type="button" id="exportButton" value="Export to CSV" style="margin-top: 1rem"/>
JavaScript
$(function () {
$(function () {
//data
var data = [
{ProductID: 1, ProductName: 'Adjustable Race', ProductNumber: 'AR-5381', Available: true},
{ProductID: 2, ProductName: 'Bearing Ball', ProductNumber: 'BA-8327', Available: false},
{ProductID: 3, ProductName: 'BB Ball Bearing', ProductNumber: 'BE-2349', Available: true},
{ProductID: 4, ProductName: 'Headset Ball Bearings', ProductNumber: 'BE-2908', Available: true},
{ProductID: 5, ProductName: 'Blade', ProductNumber: 'BL-2036', Available: false},
{ProductID: 6, ProductName: 'Chai', ProductNumber: 'BM-2245', Available: false},
{ProductID: 7, ProductName: 'Chaing Ball', ProductNumber: 'BK-2911', Available: true},
]
//grid
$("#grid").igGrid({
autoGenerateColumns: false,
width: "100%",
height: "450px",
columns: [
{ headerText: "Product ID", key: "ProductID", dataType: "number", width: "15%" },
{ headerText: "Product Name", key: "ProductName", dataType: "string", width: "40%" },
{ headerText: "Product Number", key: "ProductNumber", dataType: "string", width: "30%" },
{ headerText: "Available", key: "Available", dataType: "bool", width: "15%" }
],
dataSource: data,
defaultColumnWidth: "200px",
primaryKey: "ProductID"
});
//button to export to csv
$( "#exportButton" ).igButton( {
labelText: $( "#exportButton" ).val(),
click: function ( e )
{
var ds = $("#grid").igGrid("option", "dataSource");
var cols = $("#grid").igGrid("option", "columns");
var csv = [];
var headerRow = [];
$.each(cols, function (index, col) {
headerRow.push(col.key)
});
csv.push(headerRow.join(","));
$.each(ds, function...