在GRID里编辑单元格后,离开单元格后,数据就会发送到DATASET了。然后我在ADODateset的beforePost事件里进行了拦截,并调用了Datase.Cancel。。这样刚才的修改就被取消了,但是却发现表格里多出来了一行,请问这是为什么?怎么解决?代码如下:
procedure TForm1.dst1BeforePost(DataSet: TDataSet);
begin
dst1.Cancel;
end;
procedure TForm1.dst1BeforePost(DataSet: TDataSet);
begin
dst1.Cancel;
end;
解决方案 »
- 哪位朋友给点关于资金管理资料
- 如何使用两个DateTimePicker访问sqlserver数据库
- 一道与图形和空间有关的智力题,如何用程序解决?
- 高分请教,在线等待. 关于DELPHI中, EXCEL 文件的格式转换问题
- ☆★☆★送分题,立刻结帖!(有用过QuantumGrid的吗?)★★★
- 用客户端调用COM进程内服务器时出错:加载类型库/Dll出错
- 我安了ehlib 3.0,但不知道怎么用,我想打印DBGRID,请教各位?
- 庆祝在一月之内爬过了三座大山,散分
- 如何在listview内实现个别数据的修改
- 谁有XE5 ANDROID平台 调用 webservice 的源码例子!
- 使用SQL查询语句结果(变量)批量更新问题
- delphi中能否在form上嵌入.net编译的DLL中的form
Cancel 的写法是这样:DataSet.Append;
try
DataSet.FieldByName('xx').AsString := '';
DataSet.Post;
except
DataSet.Cancel;
end;Cancel 需在 Append 和 Post 之间运行,且 Post 不运行时有效果;
canel 是取消
abort 是终止
DataSet.abort;
canel 是取消
abort 是终止
建议你用DBGRID