Question
“How can I create and configure a crosstab using code?”
Solution
The following example adds a crosstab to the detail band and defines row, column, and value dimensions.
Download: CreateCrosstabViaCode.zip
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
uses ppClass, daDataModule, ppReport, ppCTMain; procedure TForm1.CreateCrosstabInCode(aReport: TppReport); var lCrossTab: TppCrossTab; liRowDimension: Integer; liValueDimension: Integer; begin // create crosstab and place in the detail band lCrossTab := TppCrossTab.Create(Self); lCrossTab.Band := aReport.Detail; // assign the datapipeline lCrossTab.DataPipeline := daDataModule1.DataViews[0].DataPipelines[0]; // initialize the available dimensions list based on the datapipeline lCrossTab.InitAvailableDimensions; // add a row dimension for CustNo liRowDimension := lCrossTab.IndexOfAvailableDimension('CustNo'); lCrossTab.SelectRowDef(liRowDimension); // add a row dimension for OrderNo liRowDimension := lCrossTab.IndexOfAvailableDimension('OrderNo'); lCrossTab.SelectRowDef(liRowDimension); // add a value dimension for AmountPaid liValueDimension := lCrossTab.IndexOfAvailableDimension('AmountPaid'); lCrossTab.SelectValueDef(liValueDimension); end; |