Maxmyd
@Maxmyd

Создание раскладки HTML таблицы?

Привет.

У меня есть набор данных, для каждого поля прописано его положение в таблице — координаты X и Y, указывающие на положение ячейки в таблице, а также Rowspan и Colspan, указывающие сами знаете на что. Кто-нибудь может подсказать алгоритм, по которому я смогу создать HTML-таблицу со всеми колспанами и роуспанами? Размер таблицы в «абсолютных» ячейках и строках известен заранее, надо только создать раскладку ячеек.

Заранее спасибо.


UPD. Вот примерно как будут выглядеть данные о раскладке. Конечно, это не будет в JSON, просто мне показалось, что так проще будет выглядеть. В итоге нижеследующий код должен трансформироваться в валидную таблицу, оттуда и брал :)

{<br/>
row : { <br/>
 cell : { x: 0, y: 0, colspan: 2, rowspan: 1}, <br/>
 cell : { x: 2, y: 0, colspan: 1, rowspan: 1}<br/>
 },<br/>
row : { <br/>
 cell : { x: 0, y: 1, colspan: 2, rowspan: 3}, <br/>
 cell : { x: 1, y: 1, colspan: 2, rowspan: 1}, <br/>
 cell : { x: 2, y: 1, colspan: 2, rowspan: 2}<br/>
 },<br/>
row: {<br/>
 cell : { x: 1, y: 2, colspan: 1, rowspan: 1}<br/>
 },<br/>
row: {<br/>
 cell : { x: 1, y: 3, colspan: 1, rowspan: 1},<br/>
 cell : { x: 2, y: 3, colspan: 1, rowspan: 1}<br/>
 },<br/>
row: {<br/>
 cell : { x: 0, y: 4, colspan: 3, rowspan: 1}<br/>
 } <br/>
}



UPD2. Задача не создать текстовую разметку, по которой будет рендериться таблица. Задача — в ASP.NET создать контрол, который будет содержать объект, представляющий таблицу и наследующий HtmlControl. А уж в этом объекте будут ячейки, содержащие другие контролы. И все это будет рендериться штатно средствами ASP.NET.


P.S. Правильно заданный вопрос, блин, содержит в себе половину ответа. Прошу прощения за недовысказанные мысли :(
  • Вопрос задан
  • 2771 просмотр
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Напоминает структуру XSLX файла. Сходу как-то придумать не могу, было бы неплохо если бы вы привели пример массива данных.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы