起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 969|回复: 7

[紧急]DataGrid资料

[复制链接]
发表于 2004-4-1 09:54:29 | 显示全部楼层 |阅读模式
我们有许多模块在做的时候都要用到TDataGrid,我们想充分利用TDataGrid的新功能,比如统计等等,请问有没有TDataGrid控件的详细使用帮助和介绍,给一份?发到  luoxi@vip.sina.com
回复

使用道具 举报

发表于 2004-4-1 13:54:58 | 显示全部楼层
DataGrid 的点较多,目前资料不全,我已经将现有的资料发送到你的油箱上了。如果在使用过程中遇到问题,就点再沟通
回复 支持 反对

使用道具 举报

发表于 2004-4-1 17:09:33 | 显示全部楼层
给我们也来一份吧!

要不放在这里让大家下载?把“产品更新和资料下载”栏目用起来啊,资料不全也总比没有好!
回复 支持 反对

使用道具 举报

发表于 2004-4-1 17:21:00 | 显示全部楼层
我......想.......要。。
netson_ask@163.com
回复 支持 反对

使用道具 举报

发表于 2004-4-1 17:47:54 | 显示全部楼层
好吧。满足你们的需求


一、Business3下实现DataGrid多选的方法

  首先选中DataGrid的【Options】的【egoMultiSelect】选项,然后代码如下:
  var
    i, j: Integer;
    s: string;
  begin
    if DataGrid1.SelectedCount > 0 then
      with DataGrid1.DataSource.DataSet do
        for i := 0 to DataGrid1.SelectedCount - 1 do
        begin
          Bookmark := DataGrid1.SelectedRows;
          for j := 0 to FieldCount - 1 do
          begin
            if (j > 0) then s := s + ', ';
            s := s + Fields[j].AsString;
          end;
          Memo1.Lines.Add(s);
          s := '';
        end;
  end;

   代码实现多选,设置属性。然后,实现代码如下:

  YWXX1.TSJWG1(DocViewYWXX1_SJWG1.Doc).DataGrid.Items[1].Selected := true;
  YWXX1.TSJWG1(DocViewYWXX1_SJWG1.Doc).DataGrid.Items[2].Selected := true;

2、DataGrid统计
DataGrid的具有强大的统计功能,提供的统计功能分为三种:

1、页脚统计功能

    TJsDBGrid的页脚统计功能,统计的结果显示在表格底部区域,设置步骤如下:

    1、设置Grid属性OptionsDB\edgoLoadAllRecords 为有效,也可以不设置该项,但统计结果可能和实际值有出入。

    2、设置Grid属性ShowSummaryFooter为有效,显示页脚区域;

    3、双击Grid,选择Columns页;

    4、如果列表为空,则先右击列表选择AddAllField,加入需要的字段;

    5、选择要显示统计值的字段,再依次设计其属性:

      * SummaryFooterField为要统计的字段;

      * SummaryFooterFormat为统计格式,如:“ 总数:####”;

      * SummarFootertype为统计类型,包括Sum,Count等,如果选择Count则忽略SummaryFooterField值;

    6、统计结果将显示在该字段对应列位置的表格底部区域。


二、分组统计功能

    TJsDBGrid的分组统计功能,统计的结果显示在分组以后的各个分组区域的标题区域和底部区域;

  A、设置分组区域标题统计,步骤如下:
   
    1、设置Grid属性ShowGroupPanel为有效,显示分组区域;

    2、双击Grid,选择Columns页;

    3、如果列表为空,则先右击列表选择AddAllField,加入需要的字段;

    4、选择拖动到分组区域以后要显示统计的字段,再依次设计其属性:

      * SummaryField为要统计的字段;

      * SummaryFormat为统计格式,如:“总数:####”;

      * Summartype为统计类型,包括Sum,Count等,如果选择Count则忽略SummaryField值;

    5、根据该字段进行分组(拖动字段到分组区域)以后,统计结果将显示在该字段的分组区域标题位置,如“字段值(Sum = XXX)”。

  B、设置分组区域底部统计,步骤如下:
   
    1、设置Grid属性ShowGroupPanel为有效,显示分组区域;

    2、设置Grid属性ShowRowFooter为有效,显示分组页脚区域;

    3、双击Grid,选择Summary页;

    4、在SummaryGroup组单击“Add”按钮增加一个统计组,再设计其属性:
   
      * DefaultGroup = True,该统计组为默认组,只要进行分组统计,无论根据哪个字段进行分组,此统计组的统计项目都会统计并显示在分组底部区域。整个系统中只能有一个默认组。

      * DefaultGroup = False,该统计组不是默认组,只有根据某个字段进行分组时,此统计组的统计项目才会统计并显示在该分组地底部区域。同时,还要设置上面的A.4中字段的SummaryGroupName属性为这里的SummaryGroup。

    5、在SummaryItems组单击“Add”按钮在统计组中增加一个统计项;

    6、选择拖动到分组区域以后要显示统计的字段,再依次设计其属性:

      * ColumnField为要显示统计结果的字段。统计结果将显示在该字段对应列位置的分组区域底部区域;

      * SummaryField为要统计的字段;

      * SummaryFormat为统计格式,如:“总数:####”;

      * Summarytype为统计类型,包括Sum,Count等,如果选择Count则忽略SummaryField值;


三、代码实现DataGrid分组

DataGrid本身支持分组,但通过代码也可以使用:

如果在信息层写:
   DataGrid.ColumnByName('DataGridBE1').GroupIndex := 0;
   DataGrid.ColumnByName('DataGridBE2').GroupIndex := 1;

如果在功能层写:
  CSJustCellDYGZDSX.TSJWGDDY(DocViewCSJustCellDYGZDSX_SJWGDDY.Doc).DataGrid.ColumnByName('DataGridBE1').GroupIndex := 0;
  CSJustCellDYGZDSX.TSJWGDDY(DocViewCSJustCellDYGZDSX_SJWGDDY.Doc).DataGrid.ColumnByName('DataGridBE2').GroupIndex := 1;

功能层取消:(信息层取消类似)
  CSJustCellDYGZDSX.TSJWGDDY(DocViewCSJustCellDYGZDSX_SJWGDDY.Doc).DataGrid.ColumnByName('DataGridBE1').GroupIndex := -1;
  CSJustCellDYGZDSX.TSJWGDDY(DocViewCSJustCellDYGZDSX_SJWGDDY.Doc).DataGrid.ColumnByName('DataGridBE2').GroupIndex := -1;

说明:

   -1  取消分组  
   0   第一分组
   1   第二分组
   2   第三分组 ,依次类推


四、DataGrid 的自动行高
    在业务信息层,打开 DataGrid 文档,选中 TDataGrid 的“OptionsView|edgoAutoWidth”选项就可以了。

五、如何将 DataGrid 的数据导为Excel文件
    例:
         YwXX6是引入的业务信息的编号
         TSJWG1是YwXX6中一个数据网格文档
         DocViewYWXX6_SJWG1是业务功能中一个DocView对应TSJWG1文档

         YwXX6.TSJWG1(DocViewYWXX6_SJWG1.Doc).DataGrid.SaveToXLS('c:\aa.xls',true);
回复 支持 反对

使用道具 举报

发表于 2004-4-1 17:53:09 | 显示全部楼层
好,顶。
回复 支持 反对

使用道具 举报

发表于 2004-6-17 14:16:26 | 显示全部楼层
好东西当然要顶,这类似的东西该多多共享!!
回复 支持 反对

使用道具 举报

发表于 2004-6-17 14:32:49 | 显示全部楼层

我来上传一个好东西“TDataGrid 组件演示”包,演示了上面5楼 little-fish 介绍的所有

我来上传一个好东西“TDataGrid 组件演示”包,演示了上面5楼 little-fish 介绍的所有功能,欢迎大家下载、使用、参考、学习。

TDataGrid组件演示.zip

292.24 KB, 下载次数: 195

回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-5-4 08:02 , Processed in 0.053118 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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