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

要怎麼讓dbgrid 依據不同的資料值來顯示不同的文字?

尚未結案
alice100001
一般會員


發表:21
回覆:49
積分:19
註冊:2002-09-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-10-24 23:21:55 IP:203.204.xxx.xxx 未訂閱
請教高手們: 如果有一個dbgrid, 和一個Dbedit兩個控件,同時用一個tquery與同一個datasource , 但是在dbgrid中要依據欄位值的不同來顯示不同的文字例如: 性別欄位的值為M,女為F,在dbgrid中希望能顯示為男,女,但在Dbedit,中仍是顯示M,或F,這樣要怎麼寫呢?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-10-24 23:34:43 IP:202.39.xxx.xxx 未訂閱
在 TDBGrid 的 OnDrawDataCell 事件下手 或用 CalcField 來做    -- Everything I say is a lie.
alice100001
一般會員


發表:21
回覆:49
積分:19
註冊:2002-09-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-10-24 23:40:46 IP:203.204.xxx.xxx 未訂閱
謝謝hagar的回答,但是我才初學,實在是不知道該怎麼寫,可以麻煩你寫個小例存嗎?謝謝!
T.J.B
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-10-25 14:10:44 IP:61.220.xxx.xxx 未訂閱
引言: 謝謝hagar的回答,但是我才初學,實在是不知道該怎麼寫,可以麻煩你寫個小例存嗎?謝謝!
Dbedit就不需要寫了 只要做好相關的資料連結即可 至於在dbgrid中希望能顯示為男,女 選取tquery 然後按滑鼠右鍵 選取選單的第一項 (Fields Editor) 會跑出欄位編輯器 然後選擇 性別欄位 到該欄位的onGetText事件寫
 
if tquery.FieldByName('這裡打你的性別欄位名稱').asstring = 'M' then
 text := '男'
else
 text := '女';
這樣即可 < >< > 回首來時路 也無風雨也無晴~~@.@
------
天行健
君子當自強不息~~@.@
alice100001
一般會員


發表:21
回覆:49
積分:19
註冊:2002-09-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-10-27 23:03:29 IP:203.204.xxx.xxx 未訂閱
T.J.B謝謝你的回答,但是這樣寫連dbedit的內容也會變成男,女,而不是F或M了,可以重新舉個例子嗎?
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-10-28 10:49:06 IP:61.219.xxx.xxx 未訂閱
因為是對TQUERY動作所以TDBEDIT和TDBGRID都會變動 如果只想要TDBGRID顯示變更 建議可以在TDBGRID的ONDRAWDATACELL事件中編寫 例如這樣 IF Query1.Fields[1].asstring = 'M' then DBGrid1.Fields[1].Text := '男' else DBGrid1.Fields[1].Text := '女';
T.J.B
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-10-28 12:00:18 IP:61.220.xxx.xxx 未訂閱
引言: T.J.B謝謝你的回答,但是這樣寫連dbedit的內容也會變成男,女,而不是F或M了,可以重新舉個例子嗎?
最快的做法 再把它指定回去即可 在原來程式碼後面加上 (假設DBEdit1為性別欄位)

if DBEdit1.Text = '男' then
 DBEdit1.Text := 'M'
else if DBEdit1.Text = '女' then 
 DBEdit1.Text := 'F';
< >< > 回首來時路 也無風雨也無晴~~@.@
------
天行健
君子當自強不息~~@.@
yenhorng
中階會員


發表:12
回覆:82
積分:94
註冊:2002-06-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-11-10 11:23:01 IP:61.61.xxx.xxx 未訂閱
引言: T.J.B謝謝你的回答,但是這樣寫連dbedit的內容也會變成男,女,而不是F或M了,可以重新舉個例子嗎?
新增一個資料表,有兩個欄位: SEX:'C','1' SEX_DISP:'C','2' 新增兩筆資料 'M','男' 'F','女' 在您的原資料表新增一 LookUp 欄位,使其關聯即可。 那您在DBGrid也可以使用combobox來選取喔!
shrobert
一般會員


發表:0
回覆:5
積分:6
註冊:2002-06-03

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-11-12 16:22:33 IP:210.243.xxx.xxx 未訂閱
至於在dbgrid中希望能顯示為男,女 選取tquery 然後按滑鼠右鍵 選取選單的第一項 (Fields Editor) 會跑出欄位編輯器 然後選擇 性別欄位 到該欄位的onGetText事件寫 if DisplayText then if tquery.FieldByName('這裡打你的性別欄位名稱').asstring = 'M' then text := '男'else text := '女'; 應該就只在顯示時出現
系統時間:2024-04-30 18:27:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!