TcxDBPivotGrid 初步使用

时间:2024-05-24 07:28:45

运行 结果

TcxDBPivotGrid 初步使用

设计步骤简单说明

把TcxDBPivotGriD拖到窗口,设置DataSource,在TcxDBPivotGriD右击选择Designer,出现如下图

TcxDBPivotGrid 初步使用

有几个字段就按几次ADD

选择FieldS下的cxDBPivotGrid1FieldX ,在对象 窗口设置好属性,常见的属性有

Area; Caption,FieldName,DataVisibility      ;设置好后 单击CLOSE。即可

代码如下

  object cxDBPivotGrid1: TcxDBPivotGrid
    Left = 0
    Top = 0
    Width = 762
    Height = 488
    Align = alClient
    DataSource = DataSource1
    Groups = <>
    TabOrder = 0
    ExplicitWidth = 754
    ExplicitHeight = 460
    object cxDBPivotGrid1Field1: TcxDBPivotGridField
      Area = faRow
      AreaIndex = 0
      IsCaptionAssigned = True
      Caption = #35838#31243
      DataBinding.FieldName = 'Cname'
      Visible = True
      UniqueName = #35838#31243
    end
    object cxDBPivotGrid1Field2: TcxDBPivotGridField
      Area = faRow
      AreaIndex = 1
      IsCaptionAssigned = True
      Caption = #23398#29983
      DataBinding.FieldName = 'Sname'
      Visible = True
      UniqueName = #23398#29983
    end
    object cxDBPivotGrid1Field3: TcxDBPivotGridField
      Area = faData
      AreaIndex = 0
      IsCaptionAssigned = True
      Caption = #25104#32489
      DataBinding.FieldName = 'score'
      DataVisibility = dvCrossAndTotalCells

      Visible = True
      UniqueName = #25104#32489
    end
  end
  object TestdbConnection: TFDConnection
    Params.Strings = (
      'ConnectionDef=testdb')
    Connected = True
    LoginPrompt = False
    Left = 269
    Top = 377
  end
  object FDQuery1: TFDQuery
    Active = True
    Connection = TestdbConnection
    SQL.Strings = (
      ''
      'select Student.Sname, dbo.Course.Cname,dbo.sc.score from dbo.SC'
      '   join dbo.Course  on dbo.SC.CID=dbo.Course.CID'
      '   join dbo.Student on sc.SID=Student.SID'
      '   ')
    Left = 376
    Top = 176
  end
  object DataSource1: TDataSource
    DataSet = FDQuery1
    Left = 224
    Top = 176
  end

 

{--1.学生表
Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别
--2.课程表
Course(CID,Cname,TID) --CID --课程编号,Cname 课程名称,TID 教师编号
--3.教师表
Teacher(TID,Tname) --TID 教师编号,Tname 教师姓名
--4.成绩表
SC(SID,CID,score) --SID 学生编号,CID 课程编号,score 分数
*/
--创建测试数据

create table Student(SID varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10));

insert into Student values('01' , '赵雷' , '1990-01-01' , '男');
insert into Student values('02' , '钱电' , '1990-12-21' , '男');
insert into Student values('03' , '孙风' , '1990-05-20' , '男');
insert into Student values('04' , '李云' , '1990-08-06' , '男');
insert into Student values('05' , '周梅' , '1991-12-01' , '女');
insert into Student values('06' , '吴兰' , '1992-03-01' , '女');
insert into Student values('07' , '郑竹' , '1989-07-01' , '女');
insert into Student values('08' , '王菊' , '1990-01-20' , '女');

create table Course(CID varchar(10),Cname nvarchar(10),TID varchar(10));
insert into Course values('01' , '语文' , '02');
insert into Course values('02' , '数学' , '01');
insert into Course values('03' , '英语' , '03');

create table Teacher(TID varchar(10),Tname nvarchar(10));
insert into Teacher values('01' , '张三');
insert into Teacher values('02' , '李四');
insert into Teacher values('03' , '王五');

create table SC(SID varchar(10),CID varchar(10),score decimal(18,1));
insert into SC values('01' , '01' , 80);
insert into SC values('01' , '02' , 90);
insert into SC values('01' , '03' , 99);
insert into SC values('02' , '01' , 70);
insert into SC values('02' , '02' , 60);
insert into SC values('02' , '03' , 80);
insert into SC values('03' , '01' , 80);
insert into SC values('03' , '02' , 80);
insert into SC values('03' , '03' , 80);
insert into SC values('04' , '01' , 50);
insert into SC values('04' , '02' , 30);
insert into SC values('04' , '03' , 20);
insert into SC values('05' , '01' , 76);
insert into SC values('05' , '02' , 87);
insert into SC values('06' , '01' , 31);
insert into SC values('06' , '03' , 34);
insert into SC values('07' , '02' , 89);
insert into SC values('07' , '03' , 98);}