Ambitny algorytm obliczania rowspan/colspan

0

Witam,

mam taki słownik nagłówków tabeli (do htmla)

[ { 'children': [ { 'children': [ 
								{ 'children': [ { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'avg'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'max'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'min'}],
                                    'colspan': 3,
                                    'name': 'core 0'},
                                  { 'children': [ { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'avg'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'max'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'min'}],
                                    'colspan': 3,
                                    'name': 'core 1'},
                                  { 'children': [ { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'avg'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'max'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'min'}],
                                    'colspan': 3,
                                    'name': 'core 2'},
                                  { 'children': [ { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'avg'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'max'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'min'}],
                                    'colspan': 3,
                                    'name': 'core 3'}],
                    'colspan': 12,
                    'name': 'device 2'},
                  { 'children': [ { 'children': [ { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'avg'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'max'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'min'}],
                                    'colspan': 3,
                                    'name': 'core 0'},
                                  { 'children': [ { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'avg'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'max'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'min'}],
                                    'colspan': 3,
                                    'name': 'core 1'},
                                  { 'children': [ { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'avg'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'max'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'min'}],
                                    'colspan': 3,
                                    'name': 'core 2'},
                                  { 'children': [ { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'avg'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'max'},
                                                  { 'children': [],
                                                    'colspan': 0,
                                                    'name': 'min'}],
                                    'colspan': 3,
                                    'name': 'core 3'}],
                    'colspan': 12,
                    'name': 'device 1'}],
    'colspan': 24,
    'name': 'CPU Benchmark'},
  { 'children': [], 'colspan': 0, 'name': 'build'},
  { 'children': [], 'colspan': 0, 'name': 'test'}]

Jak widać, colspany policzyłem, zostało policzyć rowspany (nagłówki tabeli muszą się ładnie dzielić). Głowię się już nad tym trochę i niewiele wymysliłem.

Pozdrawiam

0

Pytanie zostało zadane, wystarczy przescrollować :) Ale ok, potwórzę. Jak wiecie (bądź nie) żeby połączyć komórki tabeli w HTML w pionie bądź poziomie należy operować atrybutem colspan i rowspan. Colspan odpowiada za łączenie w poziomie. I ten udało mi się policzyć dla tego słownika. Niestety mam problem z rowspanem. A więc pytanie/prośba jest taka: czy ktoś bardziej ogarniający byłby w stanie dopisać jakąś funkcję (np. w JS), która obliczała by rowspan i wstawiała jako osobny klucz=>wartość do słownika tak jak to jest z 'colspanem'?

1 użytkowników online, w tym zalogowanych: 0, gości: 1