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;
發佈了216 篇原創文章 · 獲贊 16 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章