全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1397
推到 Plurk!
推到 Facebook!

数据和图表联合打印?

尚未結案
SUNSEAVE
一般會員


發表:66
回覆:44
積分:22
註冊:2003-09-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-04 16:54:52 IP:220.248.xxx.xxx 未訂閱
如图:我想把数据和图一起打印出来,请教该用什么方法?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-04 17:10:18 IP:210.65.xxx.xxx 未訂閱
Hi:    你可以使用 QuickReport 來做, 用 QRChart 來畫出圖形,並用一個 QRSubDetil 來列出資料    QRChart 可以於設計時直接指定,或是由已經設定好之 DBChart Assign 過去
procedure TQueryForm.ButtonPreview1Click(Sender: TObject);
VAR
    I : Word;
begin
    FOR I := 0 TO DBChart1.SeriesList.Count - 1 DO
        BEGIN
            QRChart1.Chart.SeriesList.Series[I].Assign(DBChart1.SeriesList.Series[I]);
        END;
    QRChart1.Chart.Title.Assign(DBChart1.Title);
    QRChart1.Chart.TopAxis.Assign(DBChart1.TopAxis);
    QRChart1.Chart.BottomAxis.Assign(DBChart1.BottomAxis);
    QRChart1.Chart.LeftAxis.Assign(DBChart1.LeftAxis);
    QRChart1.Chart.RightAxis.Assign(DBChart1.RightAxis);
    QRChart1.Chart.DepthAxis.Assign(DBChart1.DepthAxis);
    QRChart1.Chart.MarginTop := DBChart1.MarginTop;
    QRChart1.Chart.MarginBottom := DBChart1.MarginBottom;
    QRChart1.Chart.MarginLeft := DBChart1.MarginLeft;
    QRChart1.Chart.MarginRight := DBChart1.MarginRight;
    QuickRep1.Prepare;
    QuickRep1.Preview;
end;
-------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
SUNSEAVE
一般會員


發表:66
回覆:44
積分:22
註冊:2003-09-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-05 08:58:05 IP:220.248.xxx.xxx 未訂閱
请问怎样让QRSubDetil和数据库的QUERY想连接
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-05 09:15:23 IP:210.65.xxx.xxx 未訂閱
Hi:    指定 QRSubDetail 的 DataSet 屬性即可     -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-05 09:28:36 IP:210.65.xxx.xxx 未訂閱
Hi:    也許你也可以試試用 QuickReport 的正常用法,只是再加一個 QRChart 而已,理論上應該也是可以     -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
SUNSEAVE
一般會員


發表:66
回覆:44
積分:22
註冊:2003-09-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-05 11:08:52 IP:220.248.xxx.xxx 未訂閱
我有多个SERIES,判断显示哪个,请问该怎么写 我的写法: if DBChart1.Series[0].Active then QRChart1.Chart.SeriesList.Series[I].Assign(DBChart1.Series[0]); if DBChart1.Series[1].Active then QRChart1.Chart.SeriesList.Series[I].Assign(DBChart1.Series[1]); if DBChart1.Series[2].Active then QRChart1.Chart.SeriesList.Series[I].Assign(DBChart1.Series[2]); 运行但有问题?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-02-05 11:30:21 IP:210.65.xxx.xxx 未訂閱
Hi:    QRChart 上的 Series 數量必須與 QRDBChart 上一樣多,再用 QRChart1.Chart.Assign(DBChart1); 將 DBChart1 的屬性 Assign 給 QRChart1, DBChart1 上的 Series[??].Active 屬性會一併帶過來     -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
SUNSEAVE
一般會員


發表:66
回覆:44
積分:22
註冊:2003-09-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-02-05 11:48:02 IP:220.248.xxx.xxx 未訂閱
我在QYCHAR中建立了与DBCHAR中相应的SERIES,并用代码:     if DBChart1.Series[0].Active then        QRChart1.Chart.SeriesList.Series[0].Assign(DBChart1.Series[0]);     if DBChart1.Series[1].Active then       QRChart1.Chart.SeriesList.Series[1].Assign(DBChart1.Series[1]); 连接,我在程序里显示如图:但是在预览却如下图:请问还要写什么代码来设置
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-02-05 12:01:35 IP:210.65.xxx.xxx 未訂閱
Hi:
if DBChart1.Series[0].Active then
    QRChart1.Chart.SeriesList.Series[0].Assign(DBChart1.Series[0]);
if DBChart1.Series[1].Active then
    QRChart1.Chart.SeriesList.Series[1].Assign(DBChart1.Series[1]);
只會將 DBChart Series 的屬性 Assign 給 QRChart 的 Series,DBChart 本身屬性並不會一起 Assign 給 QRChart,再者,如果第二次執行,選擇另一個 Series,QRChart 就會出現兩條線了,因此建議你直接用 QRChart1.Chart.Assign(DBChart1); 指令 或是你也可以在 QRChart 終止設立一個 Series,然後用以下程式碼,但是 QRChart 的屬性必須先行設定
if DBChart1.Series[0].Active then
    QRChart1.Chart.SeriesList.Series[0].Assign(DBChart1.Series[0]);
if DBChart1.Series[1].Active then
    QRChart1.Chart.SeriesList.Series[1].Assign(DBChart1.Series[0]);
QRChart 的 Width 與 Height 在設大點,圖會比較好看 -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
SUNSEAVE
一般會員


發表:66
回覆:44
積分:22
註冊:2003-09-23

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-02-05 13:21:06 IP:220.248.xxx.xxx 未訂閱
我使用这个方法连接:  if DBChart1.Series[0].Active then     begin       QRChart1.Chart.Assign(DBChart1);       QRChart1.Chart.SeriesList.Series[0].Assign(DBChart1.Series[0]);     end;     if DBChart1.Series[1].Active then     begin       QRChart1.Chart.Assign(DBChart1);       QRChart1.Chart.SeriesList.Series[1].Assign(DBChart1.Series[1]);     end; 出现原图:通过QUICK REPORT 预览出来却是如下图:
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-02-05 13:48:07 IP:210.65.xxx.xxx 未訂閱
Hi:    SUNSEAVE,抱歉,我剛剛試了一下 QRChart1.Chart.Assign(DBChart1); 並不會將 DBChart1 的 Series 的資料一起 Assign 給 QRChart1 的 Series 因此程式修改如下,無須做 <>> 的判斷 < class="code"> procedure TQueryForm.ButtonPreview1Click(Sender: TObject); VAR I : Word; begin FOR I := 0 TO DBChart1.SeriesList.Count - 1 DO BEGIN QRChart1.Chart.SeriesList.Series[I].Assign(DBChart1.SeriesList.Series[I]); END; QRChart1.Chart.Assign(DBChart1); QuickRep1.Prepare; QuickRep1.Preview; end; 你再試試 -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
SUNSEAVE
一般會員


發表:66
回覆:44
積分:22
註冊:2003-09-23

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-02-05 15:08:10 IP:220.248.xxx.xxx 未訂閱
非常感谢大大,终于成功了!!! 我现在加了个 src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=13893770&CC=310730">
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-02-05 15:37:44 IP:210.65.xxx.xxx 未訂閱
Hi:    如果你使用的是 BandType 為 rbDetail,則必須指定 QuickReport 的 DataSet 而如果使用的是 QRSubDetail,則須指定 QRSubDetail 的 DataSet -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
SUNSEAVE
一般會員


發表:66
回覆:44
積分:22
註冊:2003-09-23

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-02-05 15:45:14 IP:220.248.xxx.xxx 未訂閱
对呀,我已经指定QuickRep1的DATASET为QYRMASTER了,但显示出来还是一条记录?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#15 引用回覆 回覆 發表時間:2004-02-05 16:08:28 IP:210.65.xxx.xxx 未訂閱
Hi:    QRChart 最好不要直接放在 QuickReport 上,會將 Report 的資料蓋掉最好是放在 PageHeader 或 GroupHeader 中    其餘報表運行方式與原 QuickReport 相同,請注意,DataSet 應該是指定你秀出的 Deatil 那一個 DataSet 才對     -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
系統時間:2024-05-17 4:04:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!