0

jqgrid からデータのみをエクスポートしたいと思います。

したがって、基本的には既にデータを含むバインドされたグリッドがあり、データをjson文字列として取得したいので、BindGridModel(data)後で呼び出して、クライアント側からのみサーバーに戻らずにデータをバインドできます。

どうすればjson文字列としてデータを取得できるので、後でデータとしてグリッドに渡すことができますか?

これは私のグリッド構成です:

function BindGridModel(data) {
    $('#jqgInventory').jqGrid({
        autowidth: true,
        caption: 'Inventory',
        datatype: 'json',
        forceFit: true,
        gridview: true,
        height: 500,
        hidegrid: false,
        ignoreCase: true,
        loadui: 'disable',
        pager: '#pager',
        mtype: 'post',
        rowNum: 25,
        shrinkToFit: true,
        url: '/MCI/Inventory/Inventory/GetIndexGridData',
        viewrecords: true,
        postData: {
            modelView: JSON.stringify(model),
            __RequestVerificationToken: $('[name="__RequestVerificationToken"]').val()
        },
        beforeRequest: function() {
            $('#gridScript').block();
        },
        beforeSelectRow: function(rowid, e) {
            return false;
        },
        gridComplete: function() {
            $('#lblVehicleCount').html($('#jqgInventory').getGridParam('records'));
            $('#gridScript').unblock();
            Inventory.modifyGridCellClick();
        },
        colModel: [
            {
            align: 'center',
            name: 'Select',
            label: 'SEL',
            title: true,
            width: 20,
            index: 'Select'},
        {
            align: 'left',
            name: 'Photo',
            hidden: false,
            label: 'PHOTO',
            stype: 'text',
            sortable: false,
            sorttype: 'text',
            title: true,
            width: 100,
            index: 'Photo'},
        {
            align: 'left',
            name: 'Information',
            hidden: false,
            label: 'INFO',
            stype: 'text',
            sortable: false,
            sorttype: 'text',
            title: true,
            width: 100,
            index: 'Information'},
        {
            align: 'right',
            name: 'Price',
            hidden: false,
            label: 'PRICE',
            stype: 'text',
            sortable: true,
            sorttype: function(cellValue) {
                return CustomGridSortByIntegerAsString(cellValue);
            },
            title: true,
            width: 50,
            index: 'Price'},
        {
            align: 'right',
            name: 'Mileage',
            hidden: false,
            label: 'MILEAGE',
            stype: 'text',
            sortable: true,
            sorttype: function(cellValue) {
                return CustomGridSortByIntegerAsString(cellValue);
            },
            title: true,
            width: 25,
            index: 'Mileage'},
        {
            align: 'right',
            name: 'Age',
            hidden: false,
            label: 'AGE',
            stype: 'text',
            sortable: true,
            sorttype: function(cellValue) {
                return CustomGridSortByIntegerAsString(cellValue);
            },
            title: true,
            width: 50,
            index: 'Age'},
        {
            name: 'VehicleKey',
            hidden: true,
            label: 'VEHICLEKEY',
            width: 50,
            index: 'VehicleKey'}
        ],
        data: data
    });
}
4

1 に答える 1

0

loadCompleteイベントでは、グリッドにバインドされたデータにアクセスでき、JSONで文字列化できます。通常、これをJqueryデータプロパティに設定して、イベント外でアクセスできるようにします。

loadComplete: function(data) {
    $('#gridid').data('jqdata', data);//JSON stringify the data 1st if you need to
},

その後、次の方法でそのデータにアクセスできます。

$('#gridid').data('jqdata');
于 2012-05-09T18:05:03.687 に答える