在复选框选择中将jqgrid数据导出到excel

时间:2016-02-23 05:34:02

标签: javascript jquery asp.net-mvc jqgrid

我从MVC控制器绑定了jqGrid,下面是我的jqgrid代码。我想将选中的复选框行数据导出到csv,我已经浏览了所有代码,但每个提供样本本地数据,但我从服务器绑定到jqGrid,所以当我选择jqGrid中的复选框行并单击“导出”按钮整行应该导出到csv,任何人都可以有解决方案吗?

$( '#的jqGrid')。的jqGrid({

        search: true,
        multiboxonly: true,
        colNames: ["PayloadCorrelationId", "Export", "Asset", "DateReported", "ErrorType", "Error", "Latitude", "Longitude", "Payloadurl"],

        colModel: [
            { name: 'CorrelationId', jsonmap: 'CorrelationId', hidden: true, width: 2 },
            { name: "", editable: true, edittype: "checkbox", width: 45, sortable: false, align: "center", formatter: "checkbox", editoptions: { value: "1:0" }, formatoptions: { disabled: false } },
            { name: 'Device', jsonmap: 'Device', width: 60 }, { name: 'DateReported', jsonmap: 'DateReported', width: 100 },
              { name: 'ErrorType', jsonmap: 'ErrorType', width: 85 },
       { name: 'Error', jsonmap: 'Error', width: 140 },
       { name: 'Latitude', jsonmap: 'Latitude', width: 80 }, { name: 'Longitude', jsonmap: 'Longitude', width: 80 },
       { name: 'Payloadurl', jsonmap: 'Payloadurl', width: 180, formatter: 'link' }],

        cellEdit: true,
        pager: jQuery('#divpager'),
        rowList: [5, 20, 50, 100],
        rowNum:5,
        sortorder: "desc",
        datatype: 'json',
        width: 900,
        height: 'auto',
        viewrecords: true,           
        mtype: 'GET',
        gridview: true,
        loadonce: true,
        url: '/DataIn/DataInSearchResult/',

        emptyrecords: "No records to display",
        onSelectRow: true,
        onSelectRow: function (id, status) {
            var rowData = jQuery(this).getRowData(id);
            configid = rowData['CorrelationId'];
            alert(configid);
            // Add this    
            var ch = jQuery(this).find('#' + id + ' input[type=checkbox]').prop('checked');
            if (ch) {
                jQuery(this).find('#' + id + ' input[type=checkbox]').prop('checked', false);
            } else {
                jQuery(this).find('#' + id + ' input[type=checkbox]').prop('checked', true);
            }
            // end Add
            rowChecked = 1;
            currentrow = id;
        },
        loadComplete: function () {
            var ts = this;
            if (ts.p.reccount === 0) {
                $(this).hide();

            } else {
                $(this).show();                    
                $("#lblTotal").html($(this).getGridParam("records") + " Results");
            }
        }

    });

1 个答案:

答案 0 :(得分:0)

只是为了澄清,点击时必须有任何按钮,csv将从所选复选框生成。如果是这样,则循环遍历网格数据以过滤掉已检查的行。您可以在触发按钮事件时轻松遍历网格数据。根据结果​​数据创建csv。