DevExtreme: возвращаемый объект из Spring Rest Api не связывается с dxDataGrid - PullRequest
0 голосов
/ 13 ноября 2018

Может ли кто-нибудь помочь мне, как я могу связать объект данных с dxDataGrid DevExtreme, используя обычное хранилище.

Мой DTO похож на:

[

data: {...}, totalCount: 100, сводка: [10,20,30]

]

Но когда я связываю данные с помощью dxDataGrid, он просто связывает данные, но не totalCount.

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Я нашел решение для моей проблемы.

[remoteOperations]="true"

Мне нужно remoteOperations = true, чтобы связать totalCount с данными, полученными с сервера.

0 голосов
/ 15 ноября 2018

Вам не нужно отправлять totalCount , вы должны использовать сводный раздел istead, посмотрите этот образец

$("#gridContainer").dxDataGrid({
        dataSource: orders,
        keyExpr: "ID",
        showBorders: true,
        selection: {
            mode: "single"
        },
        columns: [{
                dataField: "OrderNumber",
                width: 130,
                caption: "Invoice Number"
            }, {
                dataField: "OrderDate",
                dataType: "date",
                width: 160
            }, 
            "Employee", {
                caption: "City",
                dataField: "CustomerStoreCity"
            }, {
                caption: "State",
                dataField: "CustomerStoreState"  
            }, {
                dataField: "SaleAmount",
                alignment: "right",
                format: "currency"
            }
        ],
        summary: {
            totalItems: [{
                column: "OrderNumber",
                summaryType: "count"
            }]
        }
    });

Источник данных

var orders = [{
    "ID" : 1,
    "OrderNumber" : 35703,
    "OrderDate" : "2014-04-10",
    "SaleAmount" : 11800,
    "Terms" : "15 Days",
    "TotalAmount" : 12175,
    "CustomerStoreState" : "California",
    "CustomerStoreCity" : "Los Angeles",
    "Employee" : "Harv Mudd"
}, {
    "ID" : 4,
    "OrderNumber" : 35711,
    "OrderDate" : "2014-01-12",
    "SaleAmount" : 16050,
    "Terms" : "15 Days",
    "TotalAmount" : 16550,
    "CustomerStoreState" : "California",
    "CustomerStoreCity" : "San Jose",
    "Employee" : "Jim Packard"
}....
]

Для пользовательских сводок вы можете использовать это

summary: {
            totalItems: [{
                    name: "SelectedRowsSummary",
                    showInColumn: "SaleAmount",
                    displayFormat: "Sum: {0}",
                    valueFormat: "currency",
                    summaryType: "custom"
                }
            ],
            calculateCustomSummary: function (options) {
                if (options.name === "SelectedRowsSummary") {
                    if (options.summaryProcess === "start") {
                        options.totalValue = 0;
                    }
                    if (options.summaryProcess === "calculate") {
                        if (options.component.isRowSelected(options.value.ID)) {
                            options.totalValue = options.totalValue + options.value.SaleAmount;
                        }
                    }
                }
            }
        }

В разделе if (options.summaryProcess === "Calculate") { вы можете указать свою собственную логику вычислений, в данном случае - общее количество.

...