记录乱跳的问题(100送上,意思意思) (100分)

  • 主题发起人 主题发起人 zzjat
  • 开始时间 开始时间
Z

zzjat

Unregistered / Unconfirmed
GUEST, unregistred user!
T1,T2,T1是master T2是Detial ,以单号关联
T2绑定DBGrid 。
对T1进行新增动作时,(T2中无相关记录)在DBGrid中新增记录不会乱跳.
对T1进行编辑时,(T2中有相关记录显示在DBGrid中),此时再在DBGrid中新增记录,
则当前新增的记录会跳到第一行,
保存以后又会按输入顺序排序,怎么回事?


 
DataSet.append
 
什么数据库?
 
这里所谓的新增就是在DBGrid中插入一条记录
 
DataSet.append
 
DataSet.append
 
因为你的T2从属于T1,当T1记录位置改变时,T2的记录相当于更新,所以会重新排列
 
這是正常的,我這里在新增的時候也是沒規則的,當存檔后就會按你的索引排列
 
感谢各位回复,Rustle 与 SandsMan 兄提到用 Append ,是这样的:
呈现在用户面前的是主表(T1)与 包含在DBGrid中的明细表(T2),用户对
明细表的任何操作都是在DBGrid中进行,在操作前他只需要选择自已的
操作类型(新增一张空白表单,还是修改一张已存在的表单。)当修改一
张已存在的表单时(也就是说,DBGrid中会有明细记录),而我希望做到的
是用户在选择完操作类型后就可以自由的操纵主表(TEdit)与明细表(TDBGrid)
在明细表中操作数据时,按回车键跳到下一列,当在尾列回车时,自动跳到下一行
所以,用Append控制的话,用起来就会烦麻一些,有背于我的初衷。所以我现在不用
它,不知各位怎么看?
 
因为明细表是排序的。
刚插入纪录时关键字段为空,肯定排在第一个。
 
另外:TQuery不能象TTable一样的ReFresh吗?
为什么一执行 QryMaster.Refresh 就报错?
它说表不支持这项操作因为它不是唯一索引?
为什么?
 
为表添加主键试试
 
刚插入纪录时关键字段为空,肯定排在第一个。
 
多人接受答案了。
 
后退
顶部