近来几天一直在优化机房收费系统,在自己检验的过程中意外发现了,自己的MSHFlexGrid控件数据添加,每点击一次就会添加一次记录,而且会覆盖最后一条记录!问题就如下图所示:本来以为自己功能实现了,而且完全正确,可是意外的多点了几次显示全部,问题就出现了!看来问题也得去发现
伪正确:
这是我认为完全正确的功能实现之后的结果,看上去好像也是完全bingo~:
错误显现:
But!!!!!多点几次问题就出现了:每点击一次就会添加一次记录,而且会覆盖最后一条记录!这该如何解决呢?
下面是代码实现的方法之一:
步骤一:首先将数据库中的符合条件的信息提取出来,存储到一个记录集中,然后从这个记录集中将信息显示到 MSHFlexGrid中。
步骤二: 为了实现动态的显示信息,即一条信息就显示一行,两条就显示两行,以此类推。我们用到了循环,定义了i从1(第0行为固定行,作为表头,所以从1开始)到一个变量(这个变量我们将复制为记录集中信息的行数)循环下去便实现了动态添加信息的目的。
步骤三:当然里面还有一些需要注意的地方:每次循环结束之后我们要将pickUp和MSHFLEXGRID.ROWS的值改为0和1,这样才不会使循环变得越来越多!
感谢您的阅读~更多文章请点击
机房收费系统——子窗体在MDI窗体中最小化(API函数:SetParent())