如何將資料型態為text的內容顯示在DBGrid上?? |
答題得分者是:william
|
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
引言: Hi Yabula try this : Select Convert(varchar(255), Field1) from Table 我不是高手, 高手是正在銀幕前微笑的人.Miles 前輩, 我在ADOQuery中的sql加入那段語法,然後此欄位用dbmemo元件來顯示資料,發覺會有錯誤,然後有將轉換後給予別名,dbgrid的column用別名的欄位來顯示就可以了````感謝前輩。 william 前輩 你的方式呼叫GetText 的地方,應該是在哪呼叫阿?? 我有點不懂意思 發表人 - yabula 於 2002/11/28 14:55:55 |
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
引言:william 前輩 你的方式呼叫GetText 的地方,應該是在哪呼叫阿?? 我有點不懂意思This is an event for a field. You need to create the field first, e.g. 1) double click on the dataset (e.g. a TTable) 2) right click in the fields editor and add all fields 3) select the proper field and write the event handler for OnGetText |
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
引言:Miles前輩,小弟用convert的方式若在增修刪的情況下,會產生問題。在查詢程式就不會有此問題。 william前輩: 小弟後來採用你的方式後,已經解決我想要的答案了,但是再請教另一個問題, 如果要把DBRadioGroup元件的items顯示在DBGrid上的話,小弟想比照DBMemo的方式,卻不知如何做ㄋ?? 請前輩再指點一下 >>< face="Verdana, Arial, Helvetica"> I am sorry I can't get your meaning. Do you mean a pick list for the item in DBGrid? |
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
不好意思我沒有表達清楚
field A char(1)
用DBRadioGroup元件需在items和values設定表示的值 values items
------ -------
1 黑
2 白
3 紅
4 綠 但是在DBGrid的內容是顯示values值
我想要顯示的是items的內容 目前我的做法是如下
procedure TForm1.ADOQuery1AGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
var
i:integer;
s:string;
begin
s:=Sender.AsString;
for i:=0 to DBRadioGroup1.Items.Count-1 do
if s=DBRadioGroup1.Values[i] then
Text :=DBRadioGroup1.Items.Strings[i]; end; 可是產生另一個問題,也就是DBRadioGroup1元件上'黑點'卻消失了
不曉得哪裡影響了```
請前輩指點一下,或者有更好的方式??
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
Usually, both OnSetText and OnGetText are used if you want to edit the dataset, e.g.
procedure TForm1.ADOQuery1AGetText(Sender: TField; var Text: String; DisplayText: Boolean); var i:integer; s:string; begin s := Sender.AsString; for i := 0 to DBRadioGroup1.Items.Count-1 do if s=DBRadioGroup1.Values[i] then Text := DBRadioGroup1.Items.Strings[i]; end; procedure TForm1.ADOQuery1ASetText(Sender: TField; const Text: String); var i:integer; begin for i := 0 to DBRadioGroup1.Items.Count-1 do if Text=DBRadioGroup1.Items.Strings[i] then Sender.AsString := DBRadioGroup1.Values[i]; end;The above codes are not tested. |
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
引言: Miles前輩,小弟用convert的方式若在增修刪的情況下,會產生問題。在查詢程式就不會有此問題。 william前輩: 小弟後來採用你的方式後,已經解決我想要的答案了,但是再請教另一個問題, 如果要把DBRadioGroup元件的items顯示在DBGrid上的話,小弟想比照DBMemo的方式,卻不知如何做ㄋ?? 請前輩再指點一下 >>< face="Verdana, Arial, Helvetica"> 不好意思最近才看到, 請問您的問題解決的嗎, 目前用哪種方式儲存, 下SQL, 還是直接使用Post. 我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
不一定要用sql的方式來做show 'text'
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
Case DataCol of
0://這裡是代表在DBGrid的第幾格
Begin DBGrid1.Canvas.TextRectRect,Rect.Left,Rect.Top,Query1.fieldbyname ('欄位').AsString);
End;
End;
end;
這樣做就不影響以後sql語法的增.刪.修
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
可用一個StringList去做對應
例如
strs := TStringList.Create strs.Add('1=黑'); strs.Add('2=白'); strs.Add('3=紅'); strs.Add('4 綠'); ... ... procedure TForm1.ADOQuery1AGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin Text :=strs.Values[Sender.AsString]; end; ... ... strs.Free我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
|
yabula
初階會員 發表:47 回覆:117 積分:42 註冊:2002-10-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |