以下是本人用DBChart动态建立series函数mypie()
//参数:
//t: 标题
//q :表名
//x :x轴列名 如:姓名字段(nname)
//y:Y轴列名 如:人数字段(ssum)
//xv x轴值列名
//饼形图
void __fastcall TFormmain::mypie(AnsiString t,TADOTable *q,AnsiString x,AnsiString y,AnsiString xv)
{
//参数:
//t: 标题
//q :表名
//x :x轴列名 如:姓名字段(nname)
//y:Y轴列名 如:人数字段(ssum)
//xv x轴值列名
DBChart2->RemoveAllSeries();
DBChart2->Legend->LegendStyle=lsAuto;
DBChart2->AllowZoom=true;
DBChart2->AxisVisible=true;
TPieSeries *mypie=new TPieSeries(epImagePanel26);
mypie->Clear();
mypie->Title=t;
DBChart2->Title->Text->SetText(t.c_str());
mypie->ParentChart=DBChart2;
mypie->DataSource=q;
mypie->XLabelsSource=x;
mypie->XValues->ValueSource=xv;
mypie->PieValues->ValueSource=y;
if(epComboBox10->ItemIndex!=9)
{
mypie->Marks->Visible=true;
mypie->Marks->Style=(TSeriesMarksStyle)(epComboBox10->ItemIndex+1);
}
else
mypie->Marks->Visible=false;
}
//以下是调用例子:
mypie("期初例数",Table_struct,"nsort","bsum","temp1"
;