DataGrid.RealToGlobalIndexes

Синтаксис

RealToGlobalIndexes: Object;

Описание

Свойство RealToGlobalIndexes определяет сопоставление реальных и глобальных индексов рядов данных таблицы.

Комментарии

Значение свойства устанавливается из JSON и с помощью метода setRealToGlobalIndexes, а возвращается с помощью метода getRealToGlobalIndexes.

Свойство содержит JSON-объект, поля которого представляют реальный индекс ряда данных таблицы, а значения - глобальный.

Свойство предназначено только для чтения.

Пример

Для выполнения примера необходимо наличие на html-странице компонента DataGrid с наименованием «grid» (см. «Пример создания асинхронной таблицы данных»). Получим данные асинхронной таблицы в виде строки:

var values = [];
// Преобразует данные ряда таблицы в текстовую строку
var rowToPlainText = function(sender, args) {
    var index = sender.RowIndex;
    var jsonCells = [];
    // Получаем все строки таблицы
    var rows = grid.getData().Rows.Row;
    // Получаем первый индекс ряда загруженных данных
    var startGlobalRowIndex = grid.getStartRowIndex();
    // Возвращает шаблон строки
    var template = grid.getMeasures().getRowTemplate();
    // Получаем настройки сопоставления реальных и глобальных индексов данных
    var realToGlobalIndexes = grid.getRealToGlobalIndexes();
    // Получаем сопоставление реальных индексов рядам дополнительных данных
    var realAdditionalRows = grid.getRealAdditionalRows();
    
    var row = rows[index];    
    if (typeof realToGlobalIndexes[index] !== "undefined") {
        // Рассчитываем индекс ряда данных
        index = realToGlobalIndexes[index] - startGlobalRowIndex;
        // Получаем объект с данными для ряда с указанным индексом 
        jsonCells = rows[index].Cells;
    }
    else if (typeof realAdditionalRows[index] !== "undefined") {
        jsonCells = realAdditionalRows[index].Cells;
    }
    // Проходим по всем ячейкам каждой строки
    for (var colIndex in template) {
        if (template.hasOwnProperty(colIndex)) {
            values.push(jsonCells[colIndex].CellData['@FT']);
            values.push('\t');
        }
    }
    // Переносим строку
    values.pop();
    values.push('\n');
}
// Получаем данные таблицы в виде строки
grid.eachRowInSource(rowToPlainText, this);
console.log("Данные таблицы:\n %s", values.toString());

В результате выполнения примера в консоли браузера были выведены данные таблицы в виде строки:

Данные таблицы:

 0, ,Россия, ,143, ,ru,

,1, ,Франция, ,65, ,fr

См. также:

DataGrid