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

DELPHI DBGrid顯示疑問

答題得分者是:P.D.
e0626e
一般會員


發表:7
回覆:4
積分:2
註冊:2015-05-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-05-15 08:45:15 IP:36.235.xxx.xxx 訂閱
想請問各位先進!
我直接舉例我的疑問!
例:我DBGrid上typ欄位顯示的值是AC
是否可以讓他顯示CM
就是我從資料庫抓出來的資料是AC
但是我想在DBGrid上呈現的是CM
請問一下我該在哪裡修改><
P.D.
版主


發表:571
回覆:3881
積分:3666
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-05-15 14:45:16 IP:114.44.xxx.xxx 未訂閱
dbbgrid 原本就與 DataSet 資料庫直接連結在一起, 所以dbgrid 欄位內容是什麼當然就顯示什麼, 你要想做到欄位內容是a, 顯示卻為b, 最快的方法就是在  Query 新增一組虛擬欄位, 然後在 On CalcField 中寫code判斷 
if Query1S1.value='CM' THEN Query1S2.Value := 'PM'...之類的, 把 S2 顯示到 dbgrid 上
t27
中階會員


發表:34
回覆:95
積分:90
註冊:2002-06-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-05-16 16:25:29 IP:1.160.xxx.xxx 訂閱
試一試

private procedure OnGetText(Sender: TField; var Text: String; DisplayText: Boolean);
.
[code delphi]
procedure TFrmBSO.OnGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if UpperCase(Sender.FieldName) = 'typ' then
begin
Text := 'CM';
end;
end;


procedure TFrmBSO.FieldSetting;
begin
(Columns[4].Field as TStringField).OnGetText := OnGetText;
end;
[/code]
編輯記錄
t27 重新編輯於 2015-05-16 16:26:58, 註解 無‧
GrandRURU 重新編輯於 2015-05-18 08:32:42, 註解 無‧
GrandRURU 重新編輯於 2015-05-18 08:34:19, 註解 調整內文及程式碼‧
GrandRURU 重新編輯於 2015-05-18 08:35:50, 註解 無‧
e0626e
一般會員


發表:7
回覆:4
積分:2
註冊:2015-05-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2015-05-20 09:44:24 IP:125.227.xxx.xxx 訂閱
感謝P.D. 版主 跟 t27 大大 為我解答!!我是用PD版主的方式成功的,謝謝你們!
way888
初階會員


發表:32
回覆:76
積分:36
註冊:2005-05-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2015-08-11 19:35:46 IP:118.161.xxx.xxx 訂閱
您好:
用DBGrid的OnDrawColumnCell事件給您參考,很好用,也可指定Font顏色,或用image取代
if(DataCol=2)and(Dataset1.FieldByName('typ').AsString ='AC') then
begin
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.Canvas.TextRect(Rect, Rect.Left 2, Rect.Top 2, 'CM');
end;
或image取代
if(DataCol=2)and(Dataset1.FieldByName('typ').AsString ='AC') then
begin
DBGrid1.Canvas.Draw(Rect.Left,Rect.Top,Image1.Picture.Graphic);
end;




系統時間:2017-10-23 19:38:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!