1. cxgrid 是否能做到在结果中过滤,如何做
ado 中recordset可以过滤
2. delphi中cxgrid cheackbox 多选
在 Properties 的 OnEditValueChanged 事件写代码:
将当前行的主键值记录下来
Qry过滤,Filter := 'Check字段 =True'
将过滤出来的记录Check字段 全部修改为 False
根据第1步记录的主键值,定位回修改的那行,并将其Check字段 修改为 True
大致代码如下
var
tmpKey:string;
begin
ifnotqry.FieldByName('Check字段').AsBooleanthen
Exit;
tmpKey:=qry.FieldByName('key字段').AsString;
qry.DisableControls;
try
qry.Filtered:=False;
qry.Filter:='Check字段=True';
qry.Filtered:=True;
whilenotqry.IsEmptythen
begin
qry.Edit;
qry.FieldByName('Check字段').Value:=False;
qry.Post;
end;
qry.Locate('key字段',tmpKey,[]);
qry.Edit;
qry.FieldByName('Check字段').Value:=True;
qry.Post;
finally
qry.EnableControls;
end;
end;