cxgrid中某字段(如下的商品字段)设置为lookupcombobox其listsoure是通过数据源连clientdataset 获得,而clientdataset的commandtext查询语句是在程序中动态指定的(通过选择商品类别后作为条件,查询出该类别下的所有商品),这样出现一个问题比如:ID  商品类别  商品    规格  ...
1     RD01    笔记本   ....
2     GM01    适配卡   ....
 ... 在[商品]lookupcombobox相关事件下有如下代码:
sp:=cd_stdata.FieldByName('商品类别').Asstring;
if sp<>'' then 
begin
cd_gdxc.CommandText:='select 商品 from 商品 where 商品类别='''+sp+'''';
cd_gdxc.Open; 
end; 问题:在第一条记录单击[商品]时调用以上事件找出[商品类别]为RD01的所有商品,这里选择了笔记本
而当移到第二条记录选择[商品]时调用以上事件应需要重新查询,所以第一条记录的商品名称就失去了,怎样才能保持不影响之前的[商品],因为用的是clientdataset不知怎么解决该类问题,该问题不好描述,望有类似经验高手指教!