我用adotable做数据集,用dbgrid显示。adotable的lock type设为ltBatchOptimistic。在新增记录的事件里我加了一些预设字段值的语句,如设置fields[0].value := 1之类的,但是记录并没有真正提交到数据库里去。现在我想在新增记录按下后,dbgrid便新增一行,当我点击上面的任意一条记录时,dbgrid新增的一行能自动删掉。如何实现?
如果用dbnavigator控制的话,就有这样的功能。新增一行如果没有输入数据而点击别的行时,最后一行会自动删掉。
如果用dbnavigator控制的话,就有这样的功能。新增一行如果没有输入数据而点击别的行时,最后一行会自动删掉。
解决方案 »
- 子窗口ShowModal后如何在主窗口中修改子窗口中的进度条控件的位置
- 我在一个unit文件中定义了一个函数function,如何在另一个unit中引用它?
- 不知道该怎么调用一个已有的接口?
- 想问一下现在大家用DELPHI6 还是用DELPHI7 的多?
- 关于ado数据库的添加,修改和删除!!
- 什么是分析工具
- listview在vsreport类型是不是不能设置item.data啊?
- 如何将数据库中查询得到的数据集导入到Excel中?
- 请大家帮帮忙呀,
- 怎样做一个透明窗体?现在砸了锅灶,只有这点分了,大家帮帮忙吧!
- 如何让自己的程序生成exe文件,是程序自己组织EXE文件的各个模块,不是res打包释放!
- 在DELPHI中执行SQL2000自带的一个存储过程(sp_pkeys),用storedproc该怎么执行?急,急,急
YourTable.Insert;
....(Initialize code)
并记录下你的record number.
然后找Table的AfterScroll事件,如果记录是从新增记录scroll过来的,那么就Yourtable.Cancle之。否则post.
现在adotable的lock type方式为ltbatchoptimistic,按下新增按钮时表记录的个数不会增加的(除非updatebatch),那么我如何判断记录是从新增记录scroll过来的呢?
if Table.State in [dsInsert] then
begin
Table.Cancel;
end;
需要updatebatch才可以更新的 或者你的locktype 属性使用默认的设置 post的话就可以直接的提交了
To angle097113:locktype使用默认属性的话,就好办多了,我现在的lock type属性就是要设成ltbatchoptimistic。