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

datetimepicker無法儲存的問題.......

尚未結案
devilfire
一般會員


發表:24
回覆:8
積分:6
註冊:2003-07-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-29 23:02:07 IP:61.216.xxx.xxx 未訂閱
我是用BED的TABLE去聯結資料庫, 但是只能夠存入一比而已, 下面是我的程式碼, procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField); begin datetimepicker1.Date:=table1.fieldbyname('time').AsDatetime; datetimepicker2.Date:=table1.fieldbyname('time2').AsDatetime; end; procedure TForm1.ToolButton8Click(Sender: TObject); begin Table1.Edit; {Table1.FieldByName('time').AsDateTime := DateTimePicker1.Date;} {Table1.FieldByName('time2').AsDateTime := DateTimePicker2.Date;} table1.Post; end; 我是把儲存的程式地方寫在TOOLBAR裡面的一個BUTTON, 結果只能更改TIME, 而TIME1卻不變, 但是把上面用大括號括起來的兩行程式對掉的話, 就變成TIME1可以更改, TIME就不行了, 真的很奇怪......... 有誰知道為什麼ㄇ???????
leo2568
中階會員


發表:54
回覆:124
積分:70
註冊:2003-09-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-29 23:20:23 IP:61.217.xxx.xxx 未訂閱
引言:我是把儲存的程式地方寫在TOOLBAR裡面的一個BUTTON, 結果只能更改TIME,而TIME1卻不變,但是把上面用大括號括起來 的兩行程式對掉的話,就變成TIME1可以更改,TIME就不行了,真 的很奇怪.........有誰知道為什麼ㄇ???????
試試以下方法看看:
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
  DBedit1.Text := DateToStr(DateTimePicker1.Date);
end;    procedure TForm1.DateTimePicker2Change(Sender: TObject);
begin
  DBedit2.Text := DateToStr(DateTimePicker2.Date);
end;
發表人 - leo2568 於 2003/11/29 23:23:17
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-29 23:23:44 IP:61.62.xxx.xxx 未訂閱
Hi, 因為你寫了 onDataChange 的 event 了. 所以對於先做的 edit data 有用, 但後做不會變的原因是因為將資料再次地讀出進入你的 datetimepicker 中了, 所以後做的就看起來不會動作了, 你可以修改一下 onDataChange 就不會有這樣的問題了! 你會寫 onDataChange 的 event 原因若是因為要將 datetimepicker 當做資料感知元件來使用的話, 可以改寫在 dataset 的 AfterScroll event 中會比較理想, 才不會發生你現在看到的[異常]現象. 將 DataChange 的內容拿掉就可以了! 發表人 - timhuang 於 2003/11/29 23:28:35
devilfire
一般會員


發表:24
回覆:8
積分:6
註冊:2003-07-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-29 23:56:48 IP:61.216.xxx.xxx 未訂閱
我已經把在onDataChange程式刪掉了, 把程式加在dataset 的 AfterScroll event 中, 在執行的時候是可以更改時間, 但是跳到下一筆回去的時候又變回到原來的時間, 有點奇怪???????
leo2568
中階會員


發表:54
回覆:124
積分:70
註冊:2003-09-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-30 00:18:29 IP:61.217.xxx.xxx 未訂閱
引言:我已經把在onDataChange程式刪掉了, 把程式加在dataset 的 AfterScroll event 中, 在執行的時候是可以更改時間, 但是跳到下一筆回去的時候又變回到原來的時間, 有點奇怪???????
參考看看..
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
 datetimepicker1.Date:=table1.fieldbyname('time').AsDatetime;
 datetimepicker2.Date:=table1.fieldbyname('time2').AsDatetime;
end;    procedure TForm1.ToolButton8Click(Sender: TObject);
begin
  Table1.Edit;
  Table1.FieldByName('time').AsDateTime := DateTimePicker1.Date;
  Table1.FieldByName('time2').AsDateTime := DateTimePicker2.Date;
  table1.Post;
end; 
發表人 - leo2568 於 2003/11/30 00:23:29
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-11-30 09:24:40 IP:211.76.xxx.xxx 未訂閱
datatimepicker並沒有資料感知的功能 因此你可以考慮 1.找元件,找有datasource屬性的datetimepicker. 2.用dbedit,另外設計一個可以選擇日期的form,在這個form上百上monthcalendar,然後再dbedit的相關事件例如dblclick,keydown等可以讓使用者來呼叫這個預先寫好的日期選取視窗,以showmodal的方式判斷modalresult來將日期值填入這個dbedit. 講得蠻亂的,希望能對你有幫助.
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-11-30 12:40:39 IP:203.204.xxx.xxx 未訂閱
引言: 我已經把在onDataChange程式刪掉了, 把程式加在dataset 的 AfterScroll event 中, 在執行的時候是可以更改時間, 但是跳到下一筆回去的時候又變回到原來的時間, 有點奇怪???????
Hi, 應該是不會有這樣的現象才對? 是不是可以將相對應的程式碼貼上來給大家看一下, 才能找出問題的癥結所在!
devilfire
一般會員


發表:24
回覆:8
積分:6
註冊:2003-07-27

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-11-30 19:02:19 IP:218.167.xxx.xxx 未訂閱
timhuang你好.. 這是我修改後的程式碼, procedure Torder.Table1AfterScroll(DataSet: TDataSet); begin DateTimePicker1.Date := Table1.FieldByName('交貨日期').AsDateTime; DateTimePicker2.Date := Table1.FieldByName('填單日期').AsDateTime; end; procedure Torder.ToolButton8Click(Sender: TObject); begin Table1.Edit; Table1.FieldByName('交貨日期').AsDateTime := DateTimePicker1.Date; Table1.FieldByName('填單日期').AsDateTime := DateTimePicker2.Date; table1.Post; end; 已經把來源寫在AFTER SCROLL中, 而其他不變, 參考一下......
系統時間:2024-11-22 23:41:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!