線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2883
推到 Plurk!
推到 Facebook!

請問 QR 的 Detail 可否做自動換列呢?

 
kant
一般會員


發表:18
回覆:32
積分:10
註冊:2002-06-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-08 11:24:44 IP:61.218.xxx.xxx 未訂閱
小弟是 QR 初學者.想請教各位先進. 在 QuickReports 的 Detial Bank 中. DBText 如果因資料過長時, 可否做到自動換列到下一行,並自動加大列高成兩列.(正常為一列) 如果 DBText 使用 Word warp , 變成要 Detial 固定列高. 我想做的是自動調節列高, 省下不必要的空白. 該如何達成呢? qrdbtext屬性設定: AutoSize:=False AutoStretch:=True WordWrap:=True Kant 發表人 - Kant 於 2002/07/09 09:18:16
------
Kant
delphiwww
資深會員


發表:145
回覆:363
積分:368
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-07-08 17:03:34 IP:202.145.xxx.xxx 未訂閱
沒有辦法,你需要自己用程式處理
引言: 小弟是 QR 初學者.想請教各位先進. 在 QuickReports 的 Detial Bank 中. DBText 如果因資料過長時, 可否做到自動換列到下一行,並自動加大列高成兩列.(正常為一列) 如果 DBText 使用 Word warp , 變成要 Detial 固定列高. 我想做的是自動調節列高, 省下不必要的空白. 該如何達成呢? Kant
gordon
一般會員


發表:0
回覆:3
積分:0
註冊:2002-03-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-07-08 17:56:01 IP:211.21.xxx.xxx 未訂閱
可. (FOR 中文) qrdbtext屬性設定: AutoSize:=False AutoStretch:=True WordWrap:=True
kant
一般會員


發表:18
回覆:32
積分:10
註冊:2002-06-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-07-09 09:20:25 IP:61.218.xxx.xxx 未訂閱
謝謝 Gordon 的指導. 照你的方法就沒問了. 謝謝!! 也感謝其他網友提出其他建議, Thanks you. Kant
------
Kant
天外來客
初階會員


發表:22
回覆:199
積分:44
註冊:2001-11-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-08-07 12:57:33 IP:61.216.xxx.xxx 未訂閱
kant 你好... 我也有發生和你同樣的問題.. 也照你的方式設定了.. 但是......並沒有折行... 不知...那裡出了問題... 可否幫幫我呢... 謝謝你....
kant
一般會員


發表:18
回覆:32
積分:10
註冊:2002-06-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-09-25 13:33:50 IP:61.218.xxx.xxx 未訂閱
嗯~~~~ 沒有折行, 我知道問題點了. 如果是一整串的中文字, 就沒辦法折行了. 通常英文都會有空白或 - 字元. 折行會折在此處. 但中文就沒辦法了. 傷腦筋. Kant
------
Kant
kulius
一般會員


發表:13
回覆:23
積分:17
註冊:2002-03-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-09-26 11:14:02 IP:61.221.xxx.xxx 未訂閱
呵。。樓上都說要寫程式了. 還不自己去找。 如下。這不是我寫的。 是從深度論談的高手寫的 // 判斷所截斷的字是否為中文 // instr : 要被截斷的字句 // cutlength : 截掉的Byte數 function TReportBase.TruncNonChiChar(instr: string; cutlength: integer): string; var sCuted: string; temp: string; iCutLength: integer; j: integer; bIsDBCS: boolean; begin temp := ''; // 截出 _LengthPerLine 個字元出來 iCutLength := cutlength; repeat sCuted := Copy(instr, 1, iCutLength); iCutLength := Length(sCuted); bIsDBCS := False; // 看看最後一個字元是不是中文的前半個字 for j := 1 to iCutLength do begin if bIsDBCS then bIsDBCS := False else if Windows.IsDBCSLeadByte(byte(sCuted[j])) then bIsDBCS := True; end; // 如果最後一個字是中文的話, 少截一個字元 if bIsDBCS then Dec(iCutLength); temp := temp (Copy(instr, 1, iCutLength)) #13; instr := Copy(instr, iCutLength 1, Length(instr) - iCutLength); until Length(instr) <= 0; TruncNonChiChar := temp; end;
kolin903
一般會員


發表:3
回覆:8
積分:2
註冊:2003-05-20

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-28 10:08:30 IP:61.222.xxx.xxx 未訂閱
引言: 呵。。樓上都說要寫程式了. 還不自己去找。 如下。這不是我寫的。 是從深度論談的高手寫的 // 判斷所截斷的字是否為中文 // instr : 要被截斷的字句 // cutlength : 截掉的Byte數 function TReportBase.TruncNonChiChar(instr: string; cutlength: integer): string; var sCuted: string; temp: string; iCutLength: integer; j: integer; bIsDBCS: boolean; begin temp := ''; // 截出 _LengthPerLine 個字元出來 iCutLength := cutlength; repeat sCuted := Copy(instr, 1, iCutLength); iCutLength := Length(sCuted); bIsDBCS := False; // 看看最後一個字元是不是中文的前半個字 for j := 1 to iCutLength do begin if bIsDBCS then bIsDBCS := False else if Windows.IsDBCSLeadByte(byte(sCuted[j])) then bIsDBCS := True; end; // 如果最後一個字是中文的話, 少截一個字元 if bIsDBCS then Dec(iCutLength); temp := temp (Copy(instr, 1, iCutLength)) #13; instr := Copy(instr, iCutLength 1, Length(instr) - iCutLength); until Length(instr) <= 0; TruncNonChiChar := temp; end;
請問這段程式是要加在哪是要加在TQRDBText裡嗎 因為剛接觸程式不太董還請大大說明一下
qekhfn
一般會員


發表:8
回覆:9
積分:3
註冊:2003-06-01

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-06-05 23:54:10 IP:210.64.xxx.xxx 未訂閱
如果不使用DBText這個元件,可以用QRDBRichText這個元件, 只要把AutoStretch的屬性設為true就可以自動換列了說... 試試看把
系統時間:2024-04-23 23:38:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!