Blame | Last modification | View Log | RSS feed
//---------------------------------------------------------------------------#include <vcl.h>#pragma hdrstop#include "Unit1.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma link "AdvGrid"#pragma link "BaseGrid"#pragma link "DBAdvGrid"#pragma link "AdvPageControl"#pragma link "DBAdvNavigator"#pragma link "AdvPanel"#pragma resource "*.dfm"#define TDBADVGRID_FIXED 1#define INCLUDE_PARENTS TDBADVGRID_FIXEDTMainForm *MainForm;//---------------------------------------------------------------------------__fastcall TMainForm::TMainForm(TComponent* Owner): TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TMainForm::buildTransactionSpecificationValueTree( TDBAdvGrid & grid, TADOQuery & query ){grid.BeginUpdate();const int currentRow = query.RecNo;try{int children = 0;const int rows = query.RecordCount;for ( int where = 1; where <= rows; ++where ){query.RecNo = where;if ( ( children = query.FieldByName( "CHILD_COUNT" )->AsInteger ) > 0 ){grid.AddNode( where, 1 + children );}}}__finally{grid.ContractAll();query.RecNo = currentRow;grid.EndUpdate();}}//---------------------------------------------------------------------------void __fastcall TMainForm::populatePayloadStructureTab( const AnsiString & structure ){AnsiString sqlStatement;PayloadStructureTabSheet->TabVisible = true;PayloadStructureTabSheet->Caption = structure;TxnValuesQuery->Close();#if TDBADVGRID_FIXEDNewPayloadStructureGrid->RemoveAllNodes();#endifsqlStatement.sprintf("SELECT ""XPATH,""FIELDNAME,""FIELDVALUE,""USER_SUPPLIED,""ORDINAL,""CHILD_COUNT ""FROM ""TXNSPEC_VALUES "#if !INCLUDE_PARENTS"WHERE ""CHILD_COUNT=0 "#endif"ORDER BY ""ORDINAL" );TxnValuesQuery->SQL->Text = sqlStatement;TxnValuesQuery->Open();#if TDBADVGRID_FIXEDbuildTransactionSpecificationValueTree( *NewPayloadStructureGrid, *TxnValuesQuery );#endif}//---------------------------------------------------------------------------void __fastcall TMainForm::FormShow(TObject *Sender){IntegrationDBConnection->Open( "Admin", "" );populatePayloadStructureTab( "TDBAdvGrid Test" );}//---------------------------------------------------------------------------