起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 314|回复: 12

【结贴】关于DataGrid中分组后取值问题!急!!!!**

[复制链接]
发表于 2007-6-29 11:01:04 | 显示全部楼层 |阅读模式
用户在DataGrid中设置了分组,如何通过代码取得每一分组的合计值???!!!!!
回复

使用道具 举报

 楼主| 发表于 2007-6-29 11:36:20 | 显示全部楼层
顶上来!
帮忙解决一下好么?!
回复 支持 反对

使用道具 举报

发表于 2007-6-29 11:49:27 | 显示全部楼层
正在做
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-29 14:25:20 | 显示全部楼层
哦,谢了先!
回复 支持 反对

使用道具 举报

发表于 2007-6-29 15:27:48 | 显示全部楼层
有一种实现方式,你看一下,但只能统计当前游标记录组的合计:

1、在数据集上加一个[B]统计字段[/B] ,
  注意这个属性[U] groupingLevel[/U] ,如果你是1级分组,就设1,要统计2级分组就设2

2、用DataSetBroker取值:
  dialogs.showmessage(DataSetBroker1.DataSEt.FieldByname('TJZD1').AsString)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-29 15:50:58 | 显示全部楼层
我的需求是通过代码计算全部分组的合计!
回复 支持 反对

使用道具 举报

发表于 2007-6-29 16:13:39 | 显示全部楼层
dataset游标循环,然后用分组字段区分组

dataset.next

可以统计下个分组的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-29 16:15:13 | 显示全部楼层
怎么确定当前分组中的记录数?如果是按照三列分组??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-29 16:16:28 | 显示全部楼层
最初由 jiaogl 发布
[B]我的需求是通过代码计算全部分组的合计! [/B]

这里说的全部分组是指:对每一个分组中的记录求合计!!!
回复 支持 反对

使用道具 举报

发表于 2007-6-29 17:22:53 | 显示全部楼层
function TMainForm.GetIndexStr():string;
var
   i:integer;
begin

   result:='';
   for i:=0 to  DataSetBroker1.DataSet.IndexFieldCount-1 do
   begin
        result:=result+DataSetBroker1.DataSet.IndexFields.AsString;
   end;
end;

procedure TMainForm.Button1Click(Sender: TObject);
var
   indexStr1,indexStr2:string;
begin
     testgroup.Ttestgroup(InfoBrokerTESTGROUP).FIELD_BZSJJ1_TJZD1.GroupingLevel:=DataSetBroker1.DataSet.IndexFieldCount;
     indexStr1:='';
     indexStr2:='';
     DataSetBroker1.DataSet.First;
     while not   DataSetBroker1.DataSet.Eof do
     begin
          indexStr1:=GetIndexStr;
          if   indexStr2<>indexStr1 then
          begin
               Memo1.Lines.Add(DataSetBroker1.DataSEt.FieldByname('TJZD1').AsString);
               indexStr2:=indexStr1;
          end;
         DataSetBroker1.DataSet.Next;
     end;

end;

snap2.png

16.57 KB, 下载次数: 153

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-8 03:33 , Processed in 0.060257 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表