再加分200,就同一简单问题相问,Grid分类汇总
我需要自己扩充一个StringGrid,排序等功能都写好了,需要一个汇总功能
类似于SQL语句的Group by
下面是我写的一个函数,GroupCol为关键字,addCol1,AddCol2为需要汇总的列,
前贴:http://community.csdn.net/Expert/TopicView.asp?id=4284214 ,谁解决了一共400,
procedure RGrid.collect(GroupCol,addCol1,AddCol2: integer);
var
i,j:Integer;
TempStr1,TempStr2 :String;
begin
i := 2;
while i <= self.RowCount do
begin
TempStr1 := self.Cells[GroupCol,i];
if TempStr1 = '' then exit;
for j := 1 to i -1 do
begin
TempStr2 := self.Cells[GroupCol,j];
if TempStr2 = '' then exit;
if TempStr2 = TempStr1 then
begin
self.Cells[addCol1,j] := FloatToStr (StrToFloat(self.Cells[addCol1,i])
+ StrToFloat(self.Cells[addCol1,j]));
self.Cells[addCol2,j] := FloatToStr (StrToFloat(self.Cells[addCol2,i])
+ StrToFloat(self.Cells[addCol2,j]));
self.DelRows(i,1);
end;
end;
end;
end;