//--------------------------------------------------------------------------- #ifndef ViewNestedBandsDemoMainH #define ViewNestedBandsDemoMainH //--------------------------------------------------------------------------- #include #include #include #include #include "cxClasses.hpp" #include "cxControls.hpp" #include "cxCustomData.hpp" #include "cxData.hpp" #include "cxDBData.hpp" #include "cxEdit.hpp" #include "cxFilter.hpp" #include "cxGraphics.hpp" #include "cxGrid.hpp" #include "cxGridCustomTableView.hpp" #include "cxGridCustomView.hpp" #include "cxGridDBTableView.hpp" #include "cxGridLevel.hpp" #include "cxGridTableView.hpp" #include "cxStyles.hpp" #include #include #include #include #include #include "cxButtons.hpp" #include "cxCheckBox.hpp" #include "cxContainer.hpp" #include "cxGridCardView.hpp" #include "cxGridDBCardView.hpp" #include "cxLookAndFeelPainters.hpp" #include "cxMaskEdit.hpp" #include "cxSpinEdit.hpp" #include "cxTextEdit.hpp" #include #include "cxLookAndFeels.hpp" #include "cxGridBandedTableView.hpp" #include "cxGridDBBandedTableView.hpp" //--------------------------------------------------------------------------- class TViewNestedBandsDemoMainForm : public TForm { __published: // IDE-managed Components TLabel *lbDescription; TStatusBar *sbMain; TcxGrid *Grid; TcxGridDBBandedTableView *bvOrders; TcxGridDBBandedColumn *clnCustomerID; TcxGridDBBandedColumn *clnCustomerCompany; TcxGridDBBandedColumn *clnCustomerAddres; TcxGridDBBandedColumn *clnCustomerFax; TcxGridDBBandedColumn *clnCustomerPhone; TcxGridDBBandedColumn *clnCustomerOccupation; TcxGridDBBandedColumn *clnCustomerZipCode; TcxGridDBBandedColumn *clnOrdersProductID; TcxGridDBBandedColumn *clnCarLiter; TcxGridDBBandedColumn *clnCarCyl; TcxGridDBBandedColumn *clnCarHP; TcxGridDBBandedColumn *clnCarMPG_City; TcxGridDBBandedColumn *clnCarMPG_Highway; TcxGridDBBandedColumn *clnCarTransmissSpeedCount; TcxGridDBBandedColumn *clnCarTransMissAuto; TcxGridDBBandedColumn *clnPurchaseDate; TcxGridDBBandedColumn *clnPaymentType; TcxGridDBBandedColumn *clnQuantity; TcxGridDBBandedColumn *clnPaymentAmount; TcxGridLevel *lvOrders; TMainMenu *mmMain; TMenuItem *miFile; TMenuItem *miExit; TMenuItem *miOptions; TMenuItem *miNestedBands; TMenuItem *N1; TMenuItem *miBandsQuickCustomization; TMenuItem *miColumnsQuickCustomization; TMenuItem *N2; TMenuItem *miCellMerging; TMenuItem *miAbout; TcxLookAndFeelController *LookAndFeelController; void __fastcall miAboutClick(TObject *Sender); void __fastcall miExitClick(TObject *Sender); void __fastcall miNestedBandsClick(TObject *Sender); void __fastcall miBandsQuickCustomizationClick(TObject *Sender); void __fastcall miColumnsQuickCustomizationClick(TObject *Sender); void __fastcall miCellMergingClick(TObject *Sender); private: // User declarations TList *FNestedBands; void AddNestedBandInfo(TcxGridBand *ABand); void AdjustCellMerging(bool AUseCelMerging); void AdjustNestedBands(bool AUseNestedBands); void ChangeBandVisibility(int AIndex, bool AVisible); void HideNestedBands(); void ReleaseNestedBandInfos(); void ShowNestedBands(); public: // User declarations __fastcall TViewNestedBandsDemoMainForm(TComponent* Owner); __fastcall ~TViewNestedBandsDemoMainForm(void); }; class TcxNestedBandInfo { private: TcxGridBand *FBand; TcxGridBand *FParentBand; int FColumnIndex; TCaption FCaption; public: __fastcall TcxNestedBandInfo(TcxGridBand *ABand); void __fastcall RestoreBand(); __property TcxGridBand *Band = {read=FBand}; __property TCaption Caption = {read=FCaption}; __property int ColumnIndex = {read=FColumnIndex}; __property TcxGridBand *ParentBand = {read=FParentBand}; }; //--------------------------------------------------------------------------- extern PACKAGE TViewNestedBandsDemoMainForm *ViewNestedBandsDemoMainForm; //--------------------------------------------------------------------------- #endif