Извлечение записей сетки в объект - PullRequest
0 голосов
/ 19 февраля 2020

Допустим, у меня есть сетка, и я хочу извлечь ее записи.

let record = {};
grid.rowAt(rowIndex) 
    .cellAt(cellIndex)
    .focus()
    .get('innerText')
    .and(function (future) {
        record.columnName = future.data.innerText;
    });

Как определить, сколько столбцов и строк имеет сетка?

На основе индекса столбца как я могу получить название соответствующего заголовка?

1 Ответ

0 голосов
/ 20 февраля 2020

Следующие примеры должны помочь продемонстрировать, как получить количество строк, количество столбцов, получить заголовок столбца и получить объект записи из строки в сетке Ext JS с помощью теста Сенчи:

describe('Grid', function() {
    beforeAll(function() {
        ST.grid('array-grid')
            .rowAt(0);      // Wait for data to be in the grid
    });

    it('should check the total number of rows and columns', function() {
        ST.grid('array-grid')
            .execute(function(grid) {
                var values = {
                    recordCount: grid.getStore().getCount(),    // Get the Store count (same as row count)
                    columnCount: grid.query('gridcolumn:visible').length    // Get the number of visible columns
                };

                return values;
            })
            .and(function(future) {
                var result = future.data.executeResult;

                expect(result.recordCount).toEqual(100);
                expect(result.columnCount).toEqual(6);
            });
    });

    it('should get the column title for the fifth column in the grid', function() {
        var columnTitle;

        ST.component('array-grid gridcolumn:visible:nth-child(5)')
            .get('text')
            .and(function(future) {
                // Do something with the column title
                columnTitle = future.data.text;

                expect(columnTitle).toEqual('Last Updated');
            });
    });

    it('should get the record for the third grid row and check some of its values', function() {
        ST.grid('array-grid')
            .rowAt(2)
            .getRecord()
            .and(function(future) {
                var record = future.data.record;

                expect(record.name).toEqual('Dabvine');
                expect(record.price).toEqual(29.94);
            });
    });
});
...