DateTimePicker数据改变时触发哪一事件?

孩皮妞野 2001-03-01 02:48:00
要存取数据库中的日期,用一个不可见的DBEdit1与数据源通讯,用DateTimePicker1与DBEdit1关联,但是发现DataTimePicker1的OnChange, OnClick根本不被执行,怎么办?

void __fastcall TForm1::DBEdit1Change(TObject *Sender)
{
  dtpRQ->Date=DBEdit1->Field->AsDateTime;/ / this line works properly
}
//---------------------------------------------------------------------------
void __fastcall TForm1::dtpRQChange(TObject *Sender)
{
  DBEdit1->Text=dtpRQ->Date.DateString(); / / this line never executed.
}
file://---------------------------------------------------------------------------
void __fastcall TForm1::dtpRQClick(TObject *Sender)
{
  DBEdit1->Text=dtpRQ->Date.DateString(); / /this line never executed.
}





或者由什么替代方法????

敬请高人指点!
...全文
1548 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
孩皮妞野 2001-03-28
  • 打赏
  • 举报
回复
>>BCB
Sorry, I had meant to reward you 20 and add another 20 to keep the post open.
Not until right now did I understand that I cannot score anyone before it's close. So came the delay. As a compensation...
Spring414 2001-03-02
  • 打赏
  • 举报
回复
在BeforPost事件里:
Table1->FieldByName("dat")->AsString=DateTimePicker1->Date.DateString();//保存
在AfterScroll事件里:
DateTimePicker1->Date=StrToDate(Table1->FieldByName("dat")->AsString); //回显

BTW:DataTimePicker1的OnChange事件会执行的.
你若要在此事件里就改变字段内容须先断定数据处于何状态.

if(Table1->State!=dsInsert && Table1->State!=dsEdit)
{
Table1->Edit();
}
Table1->FieldByName("dat")->AsString=DateTimePicker1->Date.DateString();
BCB 2001-03-02
  • 打赏
  • 举报
回复
谢谢
孩皮妞野 2001-03-02
  • 打赏
  • 举报
回复
别难过,我已在TeamB上贴了,得到答案我会和大家分享的。

如果在此之前没人答出来,这20分就是你的了。

Thank you anyway.
BCB 2001-03-02
  • 打赏
  • 举报
回复
暂时没有好办法,跟你的心情一样!
孩皮妞野 2001-03-02
  • 打赏
  • 举报
回复
赋值可以改变DateTimePicker的日期,但是用户改变了其日期没法通过合适的事件接口。

BCB兄有没有什么建议?
孩皮妞野 2001-03-02
  • 打赏
  • 举报
回复
前一办法, 不好。

我的DataSet放在一个集中的DataModule中,可能被多方使用,其他方可能根本不知道有DateTimePicker的存在。再说,如果每个使用数据集的DataAware Control有自己的要求,都对
DataSet的BeforPost等提出要求,不就乱套了吗?

第二个建议,不通。
我使用DBEdit与数据源,他会处理关于数据集状态的问题。


BCB老兄理解了我的问题,你没有。可能是我说得不清楚吧。麻烦在帮忙想想办法。


BCB 2001-03-01
  • 打赏
  • 举报
回复
是的,如果你直接用赋值改变日期,改变事件就不起作用,
这个控件,美中不足!
切儿 2021-07-27
  • 举报
回复
@BCB 有解决的办法吗?

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧