显示以往的值以供参考(65分)

  • 主题发起人 主题发起人 hdx
  • 开始时间 开始时间
H

hdx

Unregistered / Unconfirmed
GUEST, unregistred user!
有一Items表的部分记录如下

ItemNo Name price

001 A 5.00
002 B 10.00
003 A 5.50
004 B 11.00

在DBGRID中显示此表,当在DBGRID中插入一条新记录时(例如Name为A),
点击新记录的字段price所在单元格,能显示出它以前的值(5.00和5.50)以供参考,
如何才能做到?
小弟的方法是做一查询,并将查询的值用DbGird.price.pickList.add一条一
条地加,总觉得代码效率不高,各位大吓有何高招?考你们啦!
 
在DBGrid编辑前先将所有price值保存到一个StringList中,
然后要显示前用picklist.Assign将stringlist中的值一次读入嘛.
 
to Another_eYes:
1>price中有许多重复的值,如何踢去这些重复的值,保持值的唯一性呢?
2》这些代码应写在哪个事件中比较好呢?
请大师点拨一二。分数马上奉上!
 
去掉重复值?
先sort然后循环, if strings = strings[i-1] then delete(i);
 
o,o,o, 好象还有更简单的办法. 你在取数据时用的SQL里加上DISTINCT关键字, 这样
取到的就都是唯一的了
 
我认为你的方法没错,只是在取数据时用DISTINCT关键字
 
to all
由于查询值不断在变化,所以每次都要将picklist的值clear,
再将新的查询值add进去,所以代码效率就不高了.
 
to all
由于查询值不断在变化,所以每次都要将picklist的值clear,
再将新的查询值add进去,所以代码效率就不高了.所以代码放
在哪些事件中就很重要了。请指教!
 
没必要
执行查询前先取出所有值. 执行时只要跟踪记录添加, 删除和修改当前记录的事件并
改变这个List中相应Item值就可以了.
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部