16/05/2013
Как создать Таблицу и заполнить её ячейки средствами .NET
Следующий код показывает как создать таблицу и заполнить её ячейки. Некоторые устаревшие методы таблицы еще используются в коде. Вы получите предупреждение при компиляции при использовании устаревших методов. Пожалуйста, используйте новые методы.
Код - C#: [Выделить]
- [CommandMethod("testaddtable")]
- public void testaddtable()
- {
- Database db =
- HostApplicationServices.WorkingDatabase;
- using (Transaction tr =
- db.TransactionManager.StartTransaction())
- {
- BlockTable bt =
- (BlockTable)tr.GetObject(db.BlockTableId,
- OpenMode.ForRead);
- ObjectId msId =
- bt[BlockTableRecord.ModelSpace];
- BlockTableRecord btr =
- (BlockTableRecord)tr.GetObject(msId,
- OpenMode.ForWrite);
- // create a table
- Table tb = new Table();
- tb.TableStyle = db.Tablestyle;
- // Число строк
- Int32 RowsNum = 5;
- // Число столбцов
- Int32 ColumnsNum = 5;
- // Высота строки
- double rowheight = 3;
- // Ширина столбца
- double columnwidth = 20;
- // Добавляем строки и колонки
- tb.InsertRows(0,
- rowheight,
- RowsNum);
- tb.InsertColumns(0,
- columnwidth,
- ColumnsNum);
- tb.SetRowHeight(rowheight);
- tb.SetColumnWidth(columnwidth);
- Point3d eMax = db.Extmax;
- Point3d eMin = db.Extmin;
- double CenterY =
- (eMax.Y + eMin.Y) * 0.5;
- tb.Position =
- new Point3d(10, 10, 0);
- // заполняем по одной все ячейки
- for (int i = 0;
- i < RowsNum;
- i++)
- {
- for (int j = 0;
- j < ColumnsNum;
- j++)
- {
- tb.Cells[i, j].TextHeight = 1;
- if (i == 0 && j == 0)
- tb.Cells[i, j].TextString =
- "Заголовок";
- else
- tb.Cells[i, j].TextString =
- i.ToString() + "," + j.ToString();
- tb.Cells[i,j].Alignment =
- CellAlignment.MiddleCenter;
- }
- }
- tb.GenerateLayout();
- btr.AppendEntity(tb);
- tr.AddNewlyCreatedDBObject(tb, true);
- tr.Commit();
- }
- }
Обсуждение: http://adn-cis.org/forum/index.php?topic=32
Автор перевода: Александр Ривилис
Опубликовано 16.05.2013
Отредактировано 14.04.2015 в 00:36:52
Опубликовано 16.05.2013
Отредактировано 14.04.2015 в 00:36:52