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
См. также: