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

新手問一個有關dbcheckbox的問題

答題得分者是:channel
a993435
一般會員


發表:2
回覆:2
積分:0
註冊:2003-04-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-22 11:01:12 IP:210.69.xxx.xxx 未訂閱
我有寫了一段小程式, 有關使用dbcheckbox, 我在程式中直接做checked的動作. 不過當我按存檔後卻發現這個field值沒被存下來, 不知是否有少了什麼動作, 請各位先幫忙解答... 謝謝... ----------------------- procedure TForm1.DBEdit4Exit(Sender: TObject); begin    if dbedit4.Text = '' then exit;       if dbedit4.Text < dbedit3.Text then    begin      showmessage('還回日不可小於送修日');      dbedit4.SetFocus;    end    else       DBCheckBox1.Checked  := True end; -------------------------------------------
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-22 11:12:35 IP:211.74.xxx.xxx 未訂閱
procedure TForm1.DBEdit4Exit(Sender: TObject); begin if Query1.State=dsBrowse then exit;//在瀏覽狀態就不作檢查 if dbedit4.Text = '' then exit; if dbedit4.Text < dbedit3.Text then begin showmessage('還回日不可小於送修日'); dbedit4.SetFocus; exit; end else DBCheckBox1.Checked := True; end; TRY TRY SEE
a993435
一般會員


發表:2
回覆:2
積分:0
註冊:2003-04-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-22 11:33:03 IP:210.69.xxx.xxx 未訂閱
對不起, 可能是我說得不夠明確, 我把圖形傳上, 有勞各位了.     發表人 - a993435 於 2003/05/22 11:36:04
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-22 11:34:45 IP:211.21.xxx.xxx 未訂閱
引言: 我有寫了一段小程式, 有關使用dbcheckbox, 我在程式中直接做checked的動作. 不過當我按存檔後卻發現這個field值沒被存下來, 不知是否有少了什麼動作, 請各位先幫忙解答... 謝謝... ----------------------- procedure TForm1.DBEdit4Exit(Sender: TObject); begin if dbedit4.Text = '' then exit; if dbedit4.Text < dbedit3.Text then begin showmessage('還回日不可小於送修日'); dbedit4.SetFocus; end else DBCheckBox1.Checked := True end; ------------------------------------------- < face="Verdana, Arial, Helvetica">
procedure TForm1.DBEdit4Exit(Sender: TObject);
begin
  if TDBEdit(Sender).DataSource.DataSet.State in [dsInsert,dsEdit] then
  begin
    if dbedit4.Text = '' then 
      exit;
    if dbedit4.Text < dbedit3.Text then
    begin
      showmessage('還回日不可小於送修日');
      dbedit4.SetFocus;
    end
    else
      DBCheckBox1.DataSource.DataSet.FieldByName(DBCheckBox1.DataField).Value := DBCheckBox1.ValueChecked;
  end;
end;
~小弟淺見,參考看看~
------
~小弟淺見,參考看看~
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-22 11:55:09 IP:211.74.xxx.xxx 未訂閱
部分參考channel兄所寫
procedure TForm1.DBEdit4Exit(Sender: TObject);
begin
if TDBEdit(Sender).DataSource.DataSet.State in [dsBrowse] then exit;
if dbedit4.Text = '' then exit;
if dbedit4.Text < dbedit3.Text then
begin
showmessage('還回日不可小於送修日');
dbedit4.SetFocus;
exit;
end
else
begin
DBCheckBox1.Checked := True;
DBCheckBox1.DataSource.DataSet.FieldByName(DBCheckBox1.DataField).Value := DBCheckBox1.Checked;
end;
end;
TRY TRY SEE
發表人 - chih 於 2003/05/22 11:56:37
a993435
一般會員


發表:2
回覆:2
積分:0
註冊:2003-04-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-22 14:05:08 IP:210.69.xxx.xxx 未訂閱
嗯! 那我知道了. 也就是說, 雖然它是dataware的元件, 但是表面的存取並不能啟動它, 而必須用到 dataset 的方式. 這樣說對嗎? 基本上只要用 channel 兄的方法, 就可以了. 它會自動 checked. 謝謝各位的熱心解答.....
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-22 14:44:06 IP:211.21.xxx.xxx 未訂閱
引言: 嗯! 那我知道了. 也就是說, 雖然它是dataware的元件, 但是表面的存取並不能啟動它, 而必須用到 dataset 的方式. 這樣說對嗎?沒有錯,聰明 基本上只要用 channel 兄的方法, 就可以了. 它會自動 checked. 謝謝各位的熱心解答.....
------
~小弟淺見,參考看看~
系統時間:2024-05-17 7:57:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!