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

DBGrid來顯示資料時,如可以看到的是對應之實際內容

尚未結案
Paicaso
中階會員


發表:140
回覆:124
積分:52
註冊:2002-09-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-11-05 13:53:49 IP:61.59.xxx.xxx 未訂閱
資料料表中常代碼的方式來表示,到顯示的時再以實際的內容呈現 如稅別的表示方式 1.外加 2.內含 3.免稅 4.零稅 (1)於使用DBGrid來顯示資料時,如可以看到的是對應之實際內容,如"外加", 而不是代碼... procedure Trate.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin If QUERY.FieldByName('e_Inx').AsString = '1' then DBGrid.Columns[2].FieldName:='外加' ; DBGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; 以上是否哪裡有誤? (2)又如代碼對應之內容為另一資料表,又該如何 是否將其改為入下 R_Type := QUERY.FieldByName('e_Inx').AsString; DBGrid.Columns[2].FieldName:=R_Type;
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-11-05 14:58:33 IP:61.220.xxx.xxx 未訂閱
(1): 我的做法提供給你做參考 打開欄位編輯器 選取稅別所代表的欄位 在它的 OnGetText 事件寫判斷即可
 if //--稅別是 1 then
  text := '外加'
 else if //--稅別是 2 then
  text := '內含'
 else if //--稅別是 3 then
  text := '免稅'
 else if //--稅別是 4 then
  text := '零稅';
(2) 如法炮製 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-11-06 20:15:09 IP:61.228.xxx.xxx 未訂閱
(1) 我的做法是在 Query 裡加入一個 Calculated field (比如叫 s_Inx) 在 Query 的 OnCalcFields 的 Event 裡加 If QUERY.FieldByName('e_Inx').AsString = '1' then QUERY.FieldByName('s_Inx').AsString := '外加' else If QUERY.FieldByName('e_Inx').AsString = '2' then QUERY.FieldByName('s_Inx').AsString := '內含' else If QUERY.FieldByName('e_Inx').AsString = '3' then QUERY.FieldByName('s_Inx').AsString := '免稅' else If QUERY.FieldByName('e_Inx').AsString = '4' then QUERY.FieldByName('s_Inx').AsString := '零稅'; 你可以將 e_Inx Invisible, s_Inx 設為 Visible, 就可以顯示了 (2) 我會用 SQL command Join 的方式 (如果兩個 Table 之間有對應的欄位的話)
系統時間:2024-05-17 10:06:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!