Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 4)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

simplecs

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters,
  cxStyles, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter,
  cxCustomData, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
  cxGridLevel, cxClasses, cxGridCustomView, cxGridCustomTableView,
  cxGridTableView, cxGridDBTableView, cxGrid, StdCtrls;
 
type
  TForm1 = class(TForm)
    cxGrid1DBTableView1: TcxGridDBTableView;
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    cxGrid1DBTableView1DBColumn: TcxGridDBColumn;
    cxGrid1DBTableView1Col1: TcxGridDBColumn;
    cxGrid1DBTableView1Col2: TcxGridDBColumn;
    cxGrid1DBTableView1Col3: TcxGridDBColumn;
    cxGrid1DBTableView1Col4: TcxGridDBColumn;
    cxGrid1DBTableView1Col5: TcxGridDBColumn;
    cxGrid1DBTableView1Col6: TcxGridDBColumn;
    cxGrid1DBTableView1Col7: TcxGridDBColumn;
    cxGrid1DBTableView1Col8: TcxGridDBColumn;
    cxGrid1DBTableView1Col9: TcxGridDBColumn;
    cxGrid1DBTableView1Col10: TcxGridDBColumn;
    cxGrid1DBTableView1Col11: TcxGridDBColumn;
    cxGrid1DBTableView1Col12: TcxGridDBColumn;
    cxGrid1DBTableView1Col13: TcxGridDBColumn;
    cxGrid1DBTableView1Col14: TcxGridDBColumn;
    cxGrid1DBTableView1Col15: TcxGridDBColumn;
    cxGrid1DBTableView1Col16: TcxGridDBColumn;
    cxGrid1DBTableView1Col17: TcxGridDBColumn;
    cxGrid1DBTableView1Col18: TcxGridDBColumn;
    cxGrid1DBTableView1Col19: TcxGridDBColumn;
    cxGrid1DBTableView1Col20: TcxGridDBColumn;
    cxGrid1DBTableView1Col21: TcxGridDBColumn;
    cxGrid1DBTableView1Col22: TcxGridDBColumn;
    cxGrid1DBTableView1Col23: TcxGridDBColumn;
    cxGrid1DBTableView1Col24: TcxGridDBColumn;
    cxGrid1DBTableView1Col25: TcxGridDBColumn;
    cxGrid1DBTableView1Col26: TcxGridDBColumn;
    cxGrid1DBTableView1Col27: TcxGridDBColumn;
    cxGrid1DBTableView1Col28: TcxGridDBColumn;
    cxGrid1DBTableView1Col29: TcxGridDBColumn;
    cxGrid1DBTableView1Col30: TcxGridDBColumn;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
a:string;
  Form1: TForm1;
function CalculateGroupAverage(ADataGroupIndex: TcxDataGroupIndex):Single ;
  procedure MyAfterSummary;
 
implementation
 
{$R *.dfm}
 
procedure MyAfterSummary;
var
  AChildDataGroupsCount: Integer;
  AChildDataGroupIndex, AParentDataGroupIndex: TcxDataGroupIndex;
  AChildPosition: Integer;
begin
  AParentDataGroupIndex := -1;
  with form1.cxGrid1DBTableView1.DataController.Groups do
  begin
    AChildDataGroupsCount := ChildCount[AParentDataGroupIndex];
    for AChildPosition := 0 to AChildDataGroupsCount - 1 do
    begin
      AChildDataGroupIndex := ChildDataGroupIndex[AParentDataGroupIndex, AChildPosition];
 
      form1.cxGrid1DBTableView1.DataController.Summary.GroupSummaryValues[AChildPosition,0]:='Считаем среднее и  умножаем его на 100: '+floattostr (CalculateGroupAverage(AChildDataGroupIndex));
 
    end;
  end;
end;
 
 
function CalculateGroupAverage(ADataGroupIndex: TcxDataGroupIndex):Single ;
var
  AList: TList;
  AGroupIndex, I,K, AIndex: Integer;
    S: integer ;
begin
   AList := TList.Create;
   AGroupIndex:=ADataGroupIndex;
   form1.cxGrid1DBTableView1.DataController.Groups.LoadRecordIndexes(AList, AGroupIndex);
  for I := 0 to AList.Count - 1 do
    begin
      S := strtoint(form1.cxGrid1DBTableView1.DataController.Values[integer(AList[i]),1]);
      k:=K+S;
 end;
 Result:=100*K/(AList.Count)
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
MyAfterSummary;
end;
 
 
 
end.

Всего записей: 27 | Зарегистр. 20-10-2010 | Отправлено: 21:57 20-03-2012 | Исправлено: simplecs, 22:06 20-03-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 4)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru