delphi写一个放弃或者说还原的按钮

举个例子,当你点击修改按钮后,修改了里面的一些内容后,你在点击放弃按钮,然后就回到原来未修改的状态,求代码,具体可参考http://zhidao.baidu.com/qu... 举个例子,当你点击修改按钮后,修改了里面的一些内容后,你在点击放弃按钮,然后就回到原来未修改的状态,求代码,具体可参考http://zhidao.baidu.com/question/1894004428197611260.html?quesup2&oldq=1 展开
 我来答
TLast_Ghost
2014-02-25 · TA获得超过1542个赞
知道小有建树答主
回答量:649
采纳率:20%
帮助的人:511万
展开全部
原来的内容保存到一个预留的内存就行了,取消后再重新赋值。。。如果是从数据集得到的数据,只要没有更新数据集,再从数据集里读出来就行了。。。。。比如你在richedit里有篇文章,你想删除复原,只能将其先保存在一个string变量里,当你想复原再赋值给 reichedit.text即可,别无他法,如果是从数据集里取的,那就再取一遍,就没那么麻烦。。。
更多追问追答
追问
不对呀,那我要是先点添加按钮添加了一行,但是点放弃按钮是不是就可以消除那一行,还有,能不能把代码说下,你写的完全不会的节奏啊
追答
什么方法都可以,你要返回原来的状态,你就想办法保存原来的状态,再说你添加一行,如果不是添加而是随机修改了其中的一行,你是不是应该记录改行原来的内容。。。。最简单的办法就是所有都保存,就没有那么麻烦。。。。
最简单的方法,按下修改时,str=richedit1.text;
按下还原时,richedit1.text=str; 其他edit控件都可以这样,如果是类似checkbox这样的控件,可以简单些,他有个tag属性,没有特殊意义就是附加的int型属性,你可以用它保存原来的状态, 0代表没选中,非0代表选中。。。。反正如果想返回,修改前就必须保存。。。。如果是数据来源是数据集,如果你知道什么是数据集,而且会用,就不用我说了,不会用,说也说不清楚。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lovesky0414
2014-02-25 · TA获得超过3353个赞
知道大有可为答主
回答量:1610
采纳率:66%
帮助的人:1579万
展开全部
dbgrid.datasource.dataset.cancel;
退出编辑并恢复编辑前的数据
更多追问追答
追问
膜拜你,大神,终于解决了,感谢!!·~~能在帮我解决一个问题吗?用dbgrideh在一列写入姓名,我想让另一列直接得到他的拼音首字母,然后我们公司用这个函数:hsproc.GetPY('公司',False,True)+';'+hsproc.GetPY('公司',True,True));就能显示出他的首字母和五笔,但我不明白怎么将两个列联系起来,还请教,最好提供代码,新手!!~~~谢谢
追答
在dbgrid关联的dataset的这个field的OnSetText事件里写
FieldByName('拼音列').value := 取拼音的函数(Text);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sirouszlh
2014-02-25 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:637万
展开全部
用delphi的事务处理怎么样
点击放弃就执行 ADOConnection1.RollbackTrans ;
追问
能不能具体一点,什么叫事务处理,还有由于上次我用dbgrideh连接数据库不小心修改了数据内容导致里面数据丢失,后来被人不知道设置了哪里的属性,告诉我这样以后修改dbgrideh时就不会出现数据库后台也被修改的情况,但是现在保存按钮都不能使用,我想设回原来的属性,请问你知道方法吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式