delphi中當某個單元格輸入數據時,發生的事件
今天在看代碼的時候遇到一個問題,query中的某個字段和在表中顯示的不是一個值,我覺得很奇怪,於是找了很久,才知道爲什麼,原來是query中的OnSetText和onGetText事件在作怪,經過一番學習,我終於知道了這兩個事件怎麼用。
OnSetText、onGetText的功能是對字段進行讀寫轉化。
下面我舉一例子吧,有助於大家的理解:
這是對TQuery的字段id進行讀寫轉化的代碼,功能是當數據庫字段值爲true時顯示 '是 ',反之爲 '否 ';寫入時若選擇 '是 ',則寫true入數據庫反之爲false;找這個字段的方法是雙擊DBGRID的DataSource的DataSet,然後再在彈出的框中擊右鍵,選Add all
fields...,然後選中你要轉化的那個字段,再按F11,選擇Events標籤頁,那裏就是OnGetText、OnSetText所在的地方,如下是具體代碼:
procedure TfrmAdmin.aqAdminsysGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if Sender.AsBoolean = true then
Text := '是 '
else
Text := '否 ';
end;
procedure TfrmAdmin.aqAdminsysSetText(Sender: TField; const Text: String);
begin
if Text = '是 ' then
Sender.AsBoolean := true
else
Sender.AsBoolean := false;
end;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.