HoleChartCompleteTable 和 HoleChartOverviewTable 是复杂实体 HoleChart 的组成部分。创建 HoleChart 表是使 HoleChart 的所有组件正常工作的重要一步。
创建一个 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");