delphi dbgrid 打勾选择
zwk_9 2009-05-27 09:01:20 这个问题困扰我很久了:有三个dbgrid:dgrid1显示生产计划(1条或多条),dbgrid2显示计划对应的产品(多个),dbgrid3显示产品对应的物料(很多条)
现在我要选择的是dbgrid3中的物料,用在第一列中打勾的方式来选择(双击选择,再双击取消),最后导入到另一个界面
对于选择过的物料,不能丢,即:选择了一个计划的一个产品对应的一个物料,然后切换计划,选择另一个计划的一个产品的一个物料,在最后导入到时候,两条记录都要能够导过去
之前采用主从表的方式:dbgrid1连adoquery,dbgrid2连adotable(产品表),dbgrid3连adotable(物料表),然后设置相应的mastersource
在导入到时候,从头到脚循环下来选择(相当于进行了3次循环),现在感觉这种方式太傻了,想改进一下。
于是想到了定义一个record,用于保存物料相关信息,然后用一个该record的数组来保存已选择的记录。
现在的问题是:当用户通过再次双击取消对某条记录的选择时,怎样从record数组中删除?
还有一个问题是,感觉用adotalbe来连影响存取速度,想改用以下方式,dbgrid1, dbgrid2, dbgrid都连adoquery,然后通过相应datasource的ondatasource事件来显示相应的产品、物料,但是这样做的话,当用户回到已选择的记录的时候,在dbgrid中就显示不出已经打勾的记录了。。。
困扰中~~~
帮帮我~~~