DBGrid 改變顯示資料 |
尚未結案
|
unisabilly
一般會員 發表:19 回覆:20 積分:17 註冊:2004-05-20 發送簡訊給我 |
|
shinjie
資深會員 發表:12 回覆:275 積分:287 註冊:2003-03-19 發送簡訊給我 |
在Query的OnCalcFields裡面加入以下程式碼 if DataSet.FieldByName('ERROR').AsString='c' then
DataSet.FieldByName('ERROR').AsString='connection error';
if DataSet.FieldByName('ERROR').AsString='s' then
DataSet.FieldByName('ERROR').AsString='success';
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。 得之;我幸。不得;我命。 |
pigbaby
初階會員 發表:2 回覆:84 積分:47 註冊:2002-09-02 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
引言: 各位大大新年快樂, 小弟有一個問題,小弟是用Query -> DataSource -> DBGrid 把資料庫的的東西抓到DBGrid上面 而資料庫裡某一欄是用代碼來記錄的,例如說Error這一欄裡顯示的都是代碼,c 代表connection error,s 代表success等等,請問一下我該如何做才能讓DBGrid裡面顯示整個錯誤(connection error)而不是代碼(c). ~~ 新手上路.衝.衝.衝.unisabilly 您好: 您的意思是想将Error這一欄裡的c 在DBGrid里显示为connection error,s在DBGrid里显示为success?是的话可参考下列二种方法 procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); Var Str : String; begin if SameText(Column.FieldName, 'Error') then begin Str := ''; if Column.Field.AsString = 'c' then Str := 'connection error' else if Column.Field.AsString = 's' then Str := 'success'; if Str <> '' then begin DBGrid1.Canvas.TextRect(Rect, Rect.Left 2, Rect.Top 2, Str); end; end; end; 方法二: 首先Add All fields 加入所有字段。 然后下下列代码: procedure TForm1.Query1ErrorGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin if Query1Error.value = 'c' then text := 'connection error'; if Query1Error.value = 's' then text := 'success'; end;试试看 <>~~~静心养德~~~> 發表人 - |
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |