DBGrid控件(连Table)添加新记录时显示顺序不正常
一段程序中要修改的有两个表,一为主表,一为明细表,主表通过几个DBEdit连一个Query进行修改,明细表则通过一个DBGrid连一个Table进行修改,Table和Query的CachedUpdated均设为True,明细表中的记录通过"ino"域与主表相对应,即主表的一条记录可对应明细表中的多条记录,主表里增加一条记录同时也要对明细表增加数条记录,遇到的问题具体表现如下:
当对主表进行修改时在明细表中添加数据,则出错:假设在该明细表中有1、2两条记录,在添加第三条记录时一切正常,记录显示顺序为1,2,3;但当用Tab键移出第三条记录时排列顺序变为3,1,2;光标定位在第一条记录的第一个域上,这时要添加第四条记录就要用Tab键移动到第二条记录后面,但移出第四条记录时排列顺序又变为4,3,1,2;将所做的更改Post后又恢复正常,按1,2,3,4显示。然而在对主表增加新记录时在明细表中添加新记录则一切正常,没有错序现象;比较Edit和Insert两部分除了一个是Query.Edit另一个是Query.Insert并没有发现什么不同。
按理说采用CachedUpdated方式排列顺序始终按缓冲区内的顺序显示即始终是1,2,3,4;在下翻遍了DBGrid的属性和相关的事件也未能找到原因,百思不得其解之下只好在这里向各位大虾请教,多谢!多谢!!!