Если у меня есть два типа строк:
header rows
и data rows
. и любая строка должна составлять 18 columns
.
Количество строк данных зависит от количества строк заголовка, например:
If I have 2 header rows, I should have (2 datarows: the first one map to the first header row, the second one map to the second header row + 2 datarows: the first one map to the first header row, the second one map to the second header row + 1 data rows for total: maps to the first header row ) = 5 datarows per group
If I have 3 header rows, I should have (3 datarows: the first one map to the first header row, the second one map to the second header row, the third one maps to the third header row + 3 datarows: the first one maps to the first header row, the second one maps to the second header row, the third one mapss to the third header row + 1 for total: maps to the first header row) = 7 datarowsper group
и так далее
NOTE: ALWAYS I SHOULD HAVE ONE DATA ROW FOR THE TOTAL DATA ROWS.
Я хочу l oop над столбцами строк данных и сопоставить с соответствующими данными столбца заголовка:
"render": function (data, type, full, meta) {
let tooltip = isNaN(data) ? data : Number(data);
return type === 'display' ? '<div id="tooltip" data-tooltip="' +parsedData.columns[meta.col].toString().split("-")[0] + " = " + tooltip + "|" + meta.row + '">' + data : data;
}
Давайте возьмем второй пример: у меня есть две строки заголовка:
parsedData.columns = array[36] where 36 = 2 * 18 = number of header rows * number of columns per row.
There are multiple data rows one array for each data row = one row array[18]
meta.row = row index
Проблема в моем коде заключается в том, что он всегда сопоставляется с первой строкой заголовка независимо от количества строк заголовка.
Чтобы решить эту проблему, я хочу сделать условное l oop.
так, если the number of header rows = array[36] /18 = 2
строки заголовка:
- Итерация первой строки данных:
parsedData.columns[meta.col].toString().split("-")[0]
- итерация второй строки данных:
parsedData.columns[meta.col-18].toString().split("-")[0]
- Итерация третьей строки данных:
parsedData.columns[meta.col].toString().split("-")[0]
- Четвертая итерация строки данных:
parsedData.columns[meta.col-18].toString().split("-")[0]
- Пятая итерация строки данных: (для всего), поэтому первая
parsedData.columns[meta.col].toString().split("-")[0]
and repeat this pattern for each group of row data(5 data rows per group), may I have 3 groups so I have 15 data rows
На основе комментариев вот пример:
введите описание изображения здесь
528.00 -->Tooltip should = A1:528.00
52.80 -->Tooltip should = B9:52.80
240.00- -->Tooltip should = B10:240.00-
91.52 -->Tooltip should = T5:91.52
- Строки заголовка в этом примере = массив [36]
- Строки данных представляют собой несколько массивов (5) каждый массив = массив [18]
, потому что У меня есть 2 строки заголовка ---> У меня 5 строк данных
2 + 2 + 1(total).
Теперь я хочу сопоставить каждую ячейку подсказки в строках данных с ее эквивалентом строк заголовка, как показано выше. но он всегда соответствует первой строке заголовка.