如何判断"保存"按钮的visible??

tflb 2003-08-19 06:50:52
在我做的是一个输入窗体,窗体上有多个dbedit,和dbComboBox.一个"保存"button.
想要实现在没有输入数据的时候"保存"的visible:=false;当有数据输入时"保存"的visible:=true;点击后为false:当修改某个dbedit或dbcombobox的值时,"保存"的visible又为true;也就是dbnavigator里的"+"功能.
请问怎么实现呀??请帮助!!!
...全文
48 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tflb 2003-08-28
  • 打赏
  • 举报
回复
up
tflb 2003-08-27
  • 打赏
  • 举报
回复
if adoquery1.state in [dsEdit,dsInsert] then
btnSave.visible:=true
else
btnSave.visible:=false;
请问这句写在哪里呀!!!
procedure TForm1.FormShow(Sender: TObject);
procedure TForm1.FormCreate(Sender: TObject);
我写在如上里面都不行呀!都执行btnSave.visible:=false;
而不执行btnSave.visible:=true,我怎么改呀!!!
sy_315 2003-08-19
  • 打赏
  • 举报
回复
在edit 发生change的同时,判断是否所有的的edit.text中是否有内容,是的话
if edit1.text:='' then
...
else if edit2.text='' then
...

...

visible:=true;
mingjunlee 2003-08-19
  • 打赏
  • 举报
回复
对!如果数据集发生了变化则说明你的数据感知控件改动了
这时就设置btSave.visible := False;
Spqk005 2003-08-19
  • 打赏
  • 举报
回复
楼上的是根据数据集的状态来判断BTNSAVE的VISIBLE
dsEdit,dsInsert即在数据集的编辑和INSERT状态时,btnsave为enable=true
也就实现了你想要的功能
tflb 2003-08-19
  • 打赏
  • 举报
回复
楼上的方法看来很好,但有但没看懂!:(
我用的是 adoquery
tflb 2003-08-19
  • 打赏
  • 举报
回复
有多个dbedit,和dbComboBox每个都要这么写吗!有没有更简单的方法呀!!
火龙岛主 2003-08-19
  • 打赏
  • 举报
回复
你可以使用数据集的State属性
if adoquery1.state in [dsEdit,dsInsert] then
btnSave.visible:=true
else
btnSave.visible:=false;
当然你也可以使用函数或者过程来调用
其它:dsBrowse,dsFilter...
ruihuahan 2003-08-19
  • 打赏
  • 举报
回复
同意
changly00 2003-08-19
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);
begin
...
button.visible:=false;
...
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
...
button.visible:=ture;
...
end;

procedure TForm1.dbComboBoxChange(Sender: TObject);
begin
...
button.visible:=ture;
...
end;

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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