起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 332|回复: 20

【结】如何实现DATAGRID多行统计**

[复制链接]
发表于 2008-6-19 10:06:01 | 显示全部楼层 |阅读模式
现在GRID上有5条记录,1值= 1, 2值= 2, 3值=  3, 4值= 4 , 5值= 5, 页脚统计15, 我现在想实现我多选统计,例如我选中第1和2条,统计值=3,如何实现?
回复

使用道具 举报

发表于 2008-6-19 10:22:46 | 显示全部楼层
页脚统计不能实现楼主的需求。

参考方法:在选中记录时,在事件中计算统计值,然后写到界面上的一个TLabel中
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-19 10:32:07 | 显示全部楼层
多选用哪个事件?
回复 支持 反对

使用道具 举报

发表于 2008-6-19 10:36:13 | 显示全部楼层
没有直接的多选事件
这要看楼主是通过什么方式多选的
如:单击选中,那么就在单击事件中做
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-19 11:26:07 | 显示全部楼层
就是按住SHIFT选中一个在选另一个,用单击事件吗?
回复 支持 反对

使用道具 举报

发表于 2008-6-19 11:29:23 | 显示全部楼层
可以
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-19 14:22:29 | 显示全部楼层
根据2楼的思路,请给个实例代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-19 15:05:46 | 显示全部楼层
现在的疑问在于 如何得到GRID多选的统计值,请给点代码提示
回复 支持 反对

使用道具 举报

发表于 2008-6-19 15:11:55 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-19 15:40:04 | 显示全部楼层
procedure TDOC_BILL.DataGridClick(Sender: TObject);
var
  i, j: Integer;
begin
  if DataGrid.SelectedCount > 0 then
    with DataGrid.DataSource.DataSet do
      for i := 0 to DataGrid.SelectedCount - 1 do
      begin
        j := j + FieldByName('F_JS').AsInteger;
        edit1.Text := IntToStr(j);
      end;

end;
我的理解是循环加F_JS字段的值
点中1行数值正确,点2行数就不对了,错在哪里?
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 05:26 , Processed in 0.076082 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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