我使用CXGRID过滤出一部分数据,想统一修改某一列的值,直接处理后台数据集用
FIRST;
WHILE NOT EOF DO
BEGIN
END
这样处理是整张表,撤掉过去后看到全部都被修改了。
他的过滤机制跟DBGridEh不同,DBGrideh是filter数据集的模式。
而CXGRID不是,不知道如何统一修改过滤出来的数据呢?
FIRST;
WHILE NOT EOF DO
BEGIN
END
这样处理是整张表,撤掉过去后看到全部都被修改了。
他的过滤机制跟DBGridEh不同,DBGrideh是filter数据集的模式。
而CXGRID不是,不知道如何统一修改过滤出来的数据呢?
begin
first;
while not Eof do
begin
.......
end;
end;这些都还是没有过滤的数据。建议你使用一个过程(或按键事件),通过SQL语句过滤,再进行你需要的处理:procedure TFrm1.Button1Click(Sender: TObject);
var SQL:string;
begin
SQL:='select * from 表名 Where (日期>='+#39+s1+#39+') and (日期<='+#39+s2+#39+')';
DataModule1.ClientDataSet1.Active:=False;
DataModule1.ClientDataSet1.DataRequest(SQL);
DataModule1.ClientDataSet1.Active:=True;
with DataModule1.ClientDataSet1 do
begin
first;
while not Eof do
begin
.......
end;
end;
DataModule1.ClientDataSet1.Active:=False;
end;DataModule1.ClientDataSet1 这是C/S的控件,你可以使用其它数据集控件。如:ADO的数据集控件。