ADN Open CIS
Сообщество программистов Autodesk в СНГ

01/09/2017

Создание таблиц со строками различной высоты средствами .NET

Создание таблиц при помощи методов Table.InsertColumns и Table.InsertRows достаточно сложно и ниже мы опишем несколько сценариев, которые могут быть полезными.

Сценарий 1: Использование только table.InsertColumns :
Наряду с указанным количеством столбцов создаётся одна строка с индексом 0 по умолчанию (без ячеек).

Сценарий 2: Использование только table.InsertRows :
Наряду с указанным количеством строк создаётся одна колонка по умолчанию с индексом 0 с ячейками.

Например, table.InsertRows(0, 5, 3); создаёт таблицу как на картике ниже: 

Сценарий 3: Использование индекса для создания строк или колонок:

Метод table.InsertRows(int row, double height, int rows)
int row = индекс строки
double height = высота строк (без строки по умолчанию)
int rows = количество добавляемых строк

Как в примере выше, table.InsertRows(0, 5, 3); создаёт таблицу с 4-мя строками (3 + 1 строка по умолчанию) и одной колонкой с индексом 0.

Так как первый параметр (индекс) равен 0, каждая строка вставляется  в индекс 0 и «выталкивает» вниз строку, которая уже имела этот индекс (если такая строка уже была). Таким образом, строка по умолчанию находится внизу таблицы после создания.

Сценарий 4:  Мы можем использовать table.InsertRows в цикле для создания строк разной высоты :
Строки разной высоты могут быть созданы так:            

Код - C#: [Выделить]
  1.     List<double> rowHeight = new List<double>();
  2.     rowHeight.Add(10);
  3.     rowHeight.Add(20);
  4.     rowHeight.Add(30);
  5.     int nRows = rowHeight.Count;
  6.     for (int iRow = 0; iRow < nRows; iRow++)
  7.     {
  8.         table.InsertRows(0, rowHeight[iRow], 1);
  9.     }

Вид таблицы, созданной этим кодом: 

Замечание: строки и колонки по умолчанию, если они не нужны, могут быть удалены при помощи методов DeleteColumns и DeleteRows

Источник: http://adndevblog.typepad.com/autocad/2017/09/creating-tables-and-tables-with-rows-of-varying-heights-using-net-.html

 

Автор перевода: Александр Ривилис

Обсуждение: http://adn-cis.org/forum/index.php?topic=7995

Опубликовано 01.09.2017
Отредактировано 01.09.2017 в 19:32:24