[返回博客](/cn/blog) # Teigha Mechanical：HoleChartCompleteTable 和 HoleChartOverviewTable 的创建

Alexandr Matvienko 十一月 14, 2017 [\#mechanical](/cn/blog/tag/mechanical) [\#getting started](/cn/blog/tag/getting-started)

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></a>

HoleChartCompleteTable 和 HoleChartOverviewTable 是复杂实体 HoleChart 的组成部分。创建 HoleChart 表是使 HoleChart 的所有组件正常工作的重要一步。

![image1](/files/inline-images/image002_8.jpg)创建一个 HoleChartCompleteTable 对象并使用 setSymbolDefaults 方法设置初始属性。HoleChartOverview 表的创建方式相同，因此我们将逐步介绍 HoleChartCompleteTable 的创建，并且相同的代码将适用于 HoleChartOverview。使用您当前的数据库 (pDb) 作为参数。

```
AcAmgHoleChartCompleteTablePtr pHCCT = AcAmgHoleChartCompleteTable::createObject();
pHCCT->setSymbolDefaults(pDb);

```

下一步是连接 FilteredHoleChart 和 HoleChartCompleteTable。为实体设置一个原点。

```
pHCCT->setFilteredHC(FHCId);
pHCCT->setOrigin(OdGePoint3d(715.0, 290.0, 0.0));

```

设置行和表头的文本属性：文本颜色和文本大小。

```
OdCmColor rowColor, headColor;
rowColor.setColorIndex(1);
headColor.setColorIndex(4);
pHCCT->setRowTextColor(rowColor);
pHCCT->setHeadingTextColor(headColor);
pHCCT->setRowTextHeight(3.5);
pHCCT->setHeadingTextHeight(3.5);

```

设置表属性：设置行和表头的间隙，启用表标题和列标题的绘制，设置表行中的行间距，并设置表名称。

```
pHCCT->setRowTextGap(1.4);
pHCCT->setHeadingTextGap(1.8);
pHCCT->setShowCaption(true);
pHCCT->setShowTitle(true);
pHCCT->setLineSpacing(2);
pHCCT->setTitleText(L"My Title");

```

要启用列渲染，请使用 setColumnVisibility。第一个参数是列类型，第二个参数是列可用的布局。可能的变体有 kHide、kShowCartesian、kShowPolar 和 kShowAll。

```
pHCCT->setColumnVisibility(AcMgHc::kUserItem, AcMgHc::kShowAll);

```

接下来，使用一个块来设置列属性。所有方法中的第一个参数都是列类型。第二个参数是：

- setWrapTest — 设置列行中数据的换行模式。
- setColumnWidth — 设置列的宽度。
- setCaptionAlignment, setDataAlignment — 设置表行和标题单元格中的文本对齐方式。
- setLockEditing — 启用列的编辑模式。
- setDataType — 设置数据类型 (kNoneData, kText, kNumeric)。
- setPrecision — 设置小数点后数字数据的精度。

```
pHCCT->setWrapText(AcMgHc::kUserItem, false);
pHCCT->setColumnWidth(AcMgHc::kStd, 30.0);
pHCCT->setCaptionAlignment(AcMgHc::kDesc, Acm::kLeft);
pHCCT->setDataAlignment(AcMgHc::kUserItem, Acm::kRight);
pHCCT->setLockEditing(AcMgHc::kUserItem, true);
pHCCT->setDataType(AcMgHc::kDesc, AcMgHc::kNumeric);
pHCCT->setPrecision(AcMgHc::kDesc, 3);

```

设置 HoleChartCompleteTable 的图层。

```
pHCCT->setLayer(L"AM_5");

```

## 今天就开始行动

**免费试用 ODA 软件 60 天。  
无风险，无需信用卡。**

[免费试用](https://www.opendesign.com/cn/free-trial)
