⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 masterdetailmultidemomain.cpp

📁 DevExpress.ExpressQuantumGrid控件组
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#include "shellapi.hpp"
#pragma hdrstop

#include "MasterDetailMultiDemoMain.h"
#include "MasterDetailMultiDemoData.h"
#include "AboutDemoForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "cxClasses"
#pragma link "cxControls"
#pragma link "cxCustomData"
#pragma link "cxData"
#pragma link "cxDBData"
#pragma link "cxEdit"
#pragma link "cxFilter"
#pragma link "cxGraphics"
#pragma link "cxGrid"
#pragma link "cxGridCustomTableView"
#pragma link "cxGridCustomView"
#pragma link "cxGridDBTableView"
#pragma link "cxGridLevel"
#pragma link "cxGridTableView"
#pragma link "cxStyles"
#pragma link "cxGridBandedTableView"
#pragma link "cxGridCardView"
#pragma link "cxGridDBBandedTableView"
#pragma link "cxGridDBCardView"
#pragma link "cxLookAndFeels"
#pragma resource "*.dfm"
TMasterDetailMultiDemoMainForm *MasterDetailMultiDemoMainForm;
//---------------------------------------------------------------------------
__fastcall TMasterDetailMultiDemoMainForm::TMasterDetailMultiDemoMainForm(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TMasterDetailMultiDemoMainForm::miAboutClick(TObject *Sender)
{
  ShowAboutDemoForm();
}
//---------------------------------------------------------------------------

void __fastcall TMasterDetailMultiDemoMainForm::miExitClick(TObject *Sender)
{
  Close();
}
//---------------------------------------------------------------------------

void __fastcall TMasterDetailMultiDemoMainForm::FormShow(TObject *Sender)
{
  CreateLevels();
  if (cxGrid->Levels->Count > 0)
    GridActiveTabChanged(cxGrid, cxGrid->Levels->Items[0]);
}
//---------------------------------------------------------------------------

void __fastcall TMasterDetailMultiDemoMainForm::miTabPositionClick(
      TObject *Sender)
{
  ((TMenuItem*)Sender)->Checked = true;
  switch (((TMenuItem*)Sender)->Tag){
  case 1:
    cxGrid->RootLevelOptions->DetailTabsPosition = dtpLeft;
    break;
  case 2:
    cxGrid->RootLevelOptions->DetailTabsPosition = dtpTop;
    break;
  default:
    cxGrid->RootLevelOptions->DetailTabsPosition = dtpNone;
  }
}
//---------------------------------------------------------------------------

void TMasterDetailMultiDemoMainForm::CreateLevels()
{
  if (!(MasterDetailMultiDemoDataDM->tblGenres->Active))
    MasterDetailMultiDemoDataDM->tblGenres->Open();
  MasterDetailMultiDemoDataDM->tblGenres->First();
  while (!MasterDetailMultiDemoDataDM->tblGenres->Eof)
  {
    TcxGridLevel *ALevel = cxGrid->Levels->Add();
    ALevel->Caption = MasterDetailMultiDemoDataDM->tblGenresNAME->AsString;
    ALevel->Options->DetailTabsPosition = dtpTop;
    ALevel->Styles->Tab = MasterDetailMultiDemoDataDM->cxStyle1;
    ALevel->Styles->TabsBackground = MasterDetailMultiDemoDataDM->cxStyle39;
    ALevel->Add()->Caption = "Companies";
    ALevel->Add()->Caption = "People";
    ALevel->Add()->Caption = "Photos";
    ALevel->Tag = MasterDetailMultiDemoDataDM->tblGenresID->AsInteger;
    MasterDetailMultiDemoDataDM->tblGenres->Next();
    }
}

void __fastcall TMasterDetailMultiDemoMainForm::GridActiveTabChanged(
      TcxCustomGrid *Sender, TcxGridLevel *ALevel)
{
  if (ALevel->IsMaster)
    try
    {
      cxGrid->BeginUpdate();
      ALevel->GridView = bvFilms;
      ALevel->Items[0]->GridView = tvCompanies;
      ALevel->Items[1]->GridView = cvPeople;
      ALevel->Items[2]->GridView = cvPhotos;
      MasterDetailMultiDemoDataDM->qryFilms->Params->Items[0]->Value = ALevel->Tag;
      MasterDetailMultiDemoDataDM->qryFilms->Close();
      MasterDetailMultiDemoDataDM->qryFilms->Open();
      bvFilms->DataController->ClearDetails();
    }
    __finally
    {
      cxGrid->EndUpdate();
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -