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

28/07/2019

Создание таблиц с различной высотой строк с помощью .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 = rows (без строки по умолчанию)
int rows = число добавленых строк

Как и в приведенном выше примере, table.InsertRows (0, 5, 3); создает таблицу с 4 строками (3 + 1 строка по умолчанию) и 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

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

 

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