• <menu id="w2i4a"></menu>
  • logo Teechart應(yīng)用技術(shù)詳解——快速圖表制作工具

    文檔首頁(yè)>>Teechart應(yīng)用技術(shù)詳解——快速圖表制作工具>>Teechart圖表應(yīng)用技術(shù)詳解—第七章之交叉表圖表應(yīng)用

    Teechart圖表應(yīng)用技術(shù)詳解—第七章之交叉表圖表應(yīng)用


    Steema公司和慧都科技針對(duì)中國(guó)市場(chǎng)聯(lián)合推出中文版TeeChart for .NET圖表控件,一共漢化2000個(gè)詞條(17000個(gè)單詞),漢化文檔35000個(gè)單詞,包括控件設(shè)計(jì)時(shí)與運(yùn)行時(shí)的界面漢化以及控件使用向?qū)臋n的漢化,總漢化90%以上!

    TeeChart for .NET中文版讓您在使用和學(xué)習(xí)上沒(méi)有任何語(yǔ)言障礙,至少可以節(jié)省30%的開(kāi)發(fā)時(shí)間。TeeChart for .NET中文版具有易上手,使用方便,穩(wěn)定性好,性價(jià)比高,價(jià)格優(yōu)惠等優(yōu)勢(shì),并且針對(duì)Web應(yīng)用提供無(wú)限制服務(wù)器分發(fā)授權(quán)方式,非常有利于產(chǎn)品集成。

    點(diǎn)擊下載TeeChart for .NET最新試用版


    交叉表圖表應(yīng)用(Cross Tab Charts)

    所謂交叉式圖表是指在程序運(yùn)行中可以對(duì)一個(gè)數(shù)據(jù)庫(kù)表中的兩個(gè)字段的值進(jìn)行分組求和或計(jì)數(shù),利用該功能使得圖表的顯示動(dòng)態(tài)交叉進(jìn)行。這里仍以Delphi7自帶的數(shù)據(jù)庫(kù)DBDEMOS的定單表Orders.db為例說(shuō)明。

    實(shí)例組件屬性設(shè)置

    實(shí)例設(shè)計(jì)階段的界面如下圖所示,組件屬性設(shè)置如下表所示。在這個(gè)例子中有兩個(gè)最關(guān)鍵問(wèn)題:一是如何設(shè)置交叉源;二是如何在系統(tǒng)運(yùn)行中動(dòng)態(tài)切換分組。前者可在程序設(shè)計(jì)階段實(shí)現(xiàn),也可在程序運(yùn)行階段實(shí)現(xiàn)。在設(shè)計(jì)階段可以通過(guò)圖表編輯器在Series選項(xiàng)卡的DataSourc選項(xiàng)卡中手動(dòng)設(shè)置,也可在對(duì)象觀察窗口Object Inspector中實(shí)現(xiàn)。

    交叉式圖表演示設(shè)計(jì)階段界面

    交叉式圖表演示有關(guān)屬性

    組件 屬性 設(shè)定值 說(shuō)明
    TDBChart Name
    DBChart1
    圖表組件
    TBarSeries Name
    Series1

    Datasource DBCrossTabSource1 序列的數(shù)據(jù)源是由組件DBCrossTabSource提供
    ParentChart DBChart1 表示該序列屬于DBChart1組件
    TTable Name Table1
    數(shù)據(jù)庫(kù)別名,Delphi自帶數(shù)據(jù)庫(kù)
    DatabaseaName DBDEMOS
    TableName Orders.db 有關(guān)定單信息的表
    TDataSource Name DataSource1

    為DBNavigator提供數(shù)據(jù)源

    為DBGrid提供數(shù)據(jù)源

    DataSet Table1
    TDBGrid Name DBGrid1 用于顯示定單信息
    DataSource DataSource1
    TDBNavigator Name DBNavigator1 數(shù)據(jù)導(dǎo)航
    DataSource DataSource1
    Series1
    DataSource
    參看下圖
    參看在圖表編輯器中設(shè)置
    TDBCrossTableSource Name
    DBCrossTableSource1

    DataSet
    Table1
    交叉源
    Formula gfSum
    計(jì)算公式
    GroupField Terms 分組字段
    LabelField ShipVIA 序列顯示時(shí)橫軸標(biāo)簽
    ValueField AmountPaid 計(jì)算使用字段
    Series Series1
    顯示計(jì)算結(jié)果的序列
    Active false 交叉源初始狀態(tài)為關(guān)閉
    TRadioGroup
    Name
    RadioGroup
    計(jì)算選擇(計(jì)數(shù)、求和)
    Item 計(jì)數(shù),求和
    ItemIndex
    1
    TCheckBox Name
    CheckBox1
    打開(kāi)數(shù)據(jù)庫(kù)
    Checked
    false
    TButton Name
    Nutton1
    退出按鈕
    Caption
    &E.退出


    在圖表編輯器中設(shè)置

    在程序設(shè)計(jì)階段,雙擊圖表組件DBChart1打開(kāi)圖表編輯器,然后選擇Series選項(xiàng)卡中的DataSource選項(xiàng)卡,按如下圖所示進(jìn)行設(shè)置。在這里,當(dāng)選擇組合框的CrossTab之后,就需要設(shè)置使用的數(shù)據(jù)集、計(jì)算種類(求和、計(jì)數(shù))、計(jì)算字段、分組字段和標(biāo)簽字段以及是否大小寫敏感、是否打開(kāi)表等。

    在設(shè)計(jì)階段設(shè)置Data Source

    在對(duì)象觀察窗口設(shè)置

    實(shí)際中,當(dāng)在圖表編輯器中選擇CrossTab之后,系統(tǒng)就自動(dòng)在窗口放置了TDBCrossTabSource組件。在選中該組件后,在對(duì)象觀察窗口就可看到需要設(shè)置的一些屬性了如下圖所示。在這里要注意領(lǐng)會(huì)計(jì)算字段、分組字段、標(biāo)簽字段以及計(jì)算公式等屬性的含義??梢钥闯觯辛薚DBCrossTabSource組件后,不僅可以使用戶在設(shè)計(jì)階段改變分組、計(jì)算、標(biāo)簽字段的選擇,更為在程序運(yùn)行中動(dòng)態(tài)地改變分組、計(jì)算、標(biāo)簽字段和計(jì)算公式提供了方便。


    在Object Inspector窗口設(shè)置交叉表屬性

    編寫代碼

    在CheckBox1組件的OnClick事件中根據(jù)選擇確定DBCrossTabSource1的打開(kāi)與關(guān)閉,且處于關(guān)閉狀態(tài)時(shí)計(jì)算公式選擇框和交換按鈕Button是不可用的,代碼如下:

    procedure TForml.CheckBox1Click(Sender: TObject);
    begin
    DBCrossTabSource1.Active:=CheckBox1, Checked;
    RadioGroup1.Enabled:=CheckBox1.Checked;
    Button2.Enabled:=CheckBox1.Checked;
    end;

    在RadioGroup1組件的OnClick事件中根據(jù)選擇確定分組計(jì)算公式,在公式改變后立即激活組件起到刷新數(shù)據(jù)的效果:

    procedure TForm1.RadioGroup1Click(Sender:TObject);
    begin
    case RadioGroup1.ItemIndex of
    0:DBCrossTabSource1.Formula:=gfCount;
    1:DBCrossTabSource1.Formula:=gfSum;
    end;
    DBCrossTabSource1.ValueField:='AmountPaid';
    DBCrOssTabSource1.Active:=TRUE;

    在Button按鈕的OnClick事件中加入下列代碼,用于實(shí)時(shí)切換分組方式。由于采用按鈕進(jìn)行切換,所以需要設(shè)置一個(gè)邏輯變量進(jìn)行區(qū)分,代碼如下:

    procedure TForm1.Button2Click( Sender:Tobject);
    begin
    if not bswap then
    begin
    DBCrossTabSource1.GroupField:='Terms';
    DBCrossTabSource1.LabelField:='ShipVIA';
    bswap:=not bswap;
    end
    else
    begin
    DBCrossTabSource1.GroupField:='ShipVIA';
    DBCrossTabSource1.Labeleield:='Terms';
    bswap not bswap;
    end;
    DBCrossTabSource1.ValueField :='AmountPaid';
    DBCrossTabSource1.Active:=TRUE;
    end;

    本例運(yùn)行階段的界面如圖1所示,圖2是求和計(jì)算分組字段交換后的效果圖。

    圖1:

    交叉式圖表應(yīng)用舉例運(yùn)行時(shí)的效果

    圖2:

    求和計(jì)算時(shí)分組字段交換后的效果比較

    相關(guān)資料推薦:

    上一章:主明細(xì)式圖表應(yīng)用

    下一章:TeeChart Pro ActiveX組件的安裝

    Teechart 2019資源合集

    =====================================

    現(xiàn)TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購(gòu),現(xiàn)在搶購(gòu)可立享優(yōu)惠!

    關(guān)注慧聚IT微信公眾號(hào)???,了解產(chǎn)品的最新動(dòng)態(tài)及最新資訊。

    慧聚IT

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();