工具栏上有 添加 删除 保存 取消 按钮 首条 上一条 下一条 末条下面就是edit编辑框了,记录的各个字段赋值在edit中,
在浏览数据记录时候,只要修改了任何一个edit中的值,“保存” 按钮的 enable由false变为true.
但如果只是点上一条 下一条 来浏览数据时候就还是false的.这种界面控制不知道是如何实现的.现在使用edit的 onchange 事件
BtnSave.enable:=ture;但这样的话,即时浏览数据时候 “保存” 这个按钮 也会变为可用,不是我要的效果我只希望人为修改edit后变为可用,而不是浏览时候。不知道我说的情况大家明白了吗? 界面上有几十个 edit时候怎么弄呢?有demo看的没?
在浏览数据记录时候,只要修改了任何一个edit中的值,“保存” 按钮的 enable由false变为true.
但如果只是点上一条 下一条 来浏览数据时候就还是false的.这种界面控制不知道是如何实现的.现在使用edit的 onchange 事件
BtnSave.enable:=ture;但这样的话,即时浏览数据时候 “保存” 这个按钮 也会变为可用,不是我要的效果我只希望人为修改edit后变为可用,而不是浏览时候。不知道我说的情况大家明白了吗? 界面上有几十个 edit时候怎么弄呢?有demo看的没?
解决方案 »
- 郁闷贴.... 散分五
- 通过ADSL 访问远程的MSSQL DB ,一般要做些什么设置或是条件,第三方软件也可?
- 我为什么SimpleDataSet老是失去链接
- Delphi如何实现Http代理登陆的功能??请进!很急
- 如何将Unicode的编码还原英文字符?
- 高分求教——搞DELPHI转“加密解密”或写程序外挂所必备知识。
- 一个关于sql的小问题。在线等待
- mpg,rm播放控件
- 在OleContainer1中嵌入一个有数据的excel文件如C;\aa.xls,在OleContainer1中双击并修改这个文件,如何保存这个修改的excel文件?
- 请问那里错?
- 求高手指教关于RzOpenDialog的问题
- DBEdit1的Change使用来干嘛的?
做个标记
var
changed:Boolean;
点上一条 下一条时,changed设置为false;
onchange 时,changed设置为true;edit的 onchange 事件
if changed then
BtnSave.enable:=ture
else
BtnSave.enable:=False;
BtnSave.enable:=ture;
而且 我不仅仅 是点击 上一条 下一条 来浏览啊
也有的是在treeview的节点上浏览点击 也有的是 在dxgrid的网格中选择记录浏览,有的是listbox 中选择记录浏览。。那岂不是把人累死了啊.
if ADOQuery1.State =dsBrowse then
begin
//编辑状态,enable:=False;
end
else if ADOQuery1.State = dsEdit then
begin
//处于编辑状态,enable:=True;
end;
DataSource 的 DataStateChange中根据数据集的状态 判断
我数据业务逻辑封装到了dll中..
界面中,使用clientDataset来获取数据 ,没有datasource【假如我没用数据感知控件的话】。 operation是业务类的实例clientDataset1.data:=Operation.getData;
edit1.text:=clientDataset1.Fieldbyname('field1').asstring;
edit2.text:=clientDataSet1.fieldbyname('field2').asstring;
...
根据你这种情况, 没有什么简单的办法了.
试试下面的方式:
1.写一个procedure , 代码为BtnSave.enable:=ture;
2.表单建立时, 将每个edit的onchange事件调用1中写的procedure
3.上一条 下一条的Click中写BtnSave.enable:=ture
3.上一条 下一条的Click中写BtnSave.enable:=False