Subversion Repositories DevTools

Rev

Rev 2218 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2218 sbetterm 1
//---------------------------------------------------------------------------
2
 
3
#include <vcl.h>
4
#pragma hdrstop
5
 
6
#include "Unit1.h"
7
//---------------------------------------------------------------------------
8
#pragma package(smart_init)
9
#pragma link "AdvGrid"
10
#pragma link "BaseGrid"
11
#pragma link "DBAdvGrid"
12
#pragma link "AdvPageControl"
13
#pragma link "DBAdvNavigator"
14
#pragma link "AdvPanel"
15
#pragma resource "*.dfm"
16
 
17
#define TDBADVGRID_FIXED	1
18
#define INCLUDE_PARENTS		TDBADVGRID_FIXED
19
 
20
TMainForm *MainForm;
21
//---------------------------------------------------------------------------
22
__fastcall TMainForm::TMainForm(TComponent* Owner)
23
	: TForm(Owner)
24
{
25
}
26
//---------------------------------------------------------------------------
27
 
28
void __fastcall TMainForm::buildTransactionSpecificationValueTree( TDBAdvGrid & grid, TADOQuery & query )
29
{
30
	grid.BeginUpdate();
31
	const int currentRow = query.RecNo;
32
	try
33
	{
34
		int children	= 0;
35
		const int rows	= query.RecordCount;
36
		for ( int where = 1; where <= rows; ++where )
37
		{
38
			query.RecNo = where;
39
			if ( ( children = query.FieldByName( "CHILD_COUNT" )->AsInteger ) > 0 )
40
			{
41
				grid.AddNode( where, 1 + children );
42
			}
43
		}
44
	}
45
	__finally
46
	{
47
		grid.ContractAll();
48
		query.RecNo = currentRow;
49
		grid.EndUpdate();
50
	}
51
}
52
//---------------------------------------------------------------------------
53
 
54
void __fastcall TMainForm::populatePayloadStructureTab( const AnsiString & structure )
55
{
56
	AnsiString	sqlStatement;
57
 
58
	PayloadStructureTabSheet->TabVisible = true;
59
	PayloadStructureTabSheet->Caption = structure;
60
 
61
	TxnValuesQuery->Close();
62
#if TDBADVGRID_FIXED
63
	NewPayloadStructureGrid->RemoveAllNodes();
64
#endif
65
	sqlStatement.sprintf(
66
		"SELECT "
67
			"XPATH,"
68
			"FIELDNAME,"
69
			"FIELDVALUE,"
70
			"USER_SUPPLIED,"
71
			"ORDINAL,"
72
			"CHILD_COUNT "
73
		"FROM "
74
			"TXNSPEC_VALUES "
75
#if !INCLUDE_PARENTS
76
		"WHERE "
77
			"CHILD_COUNT=0 "
78
#endif
79
		"ORDER BY "
80
			"ORDINAL" );
81
 
82
	TxnValuesQuery->SQL->Text = sqlStatement;
83
	TxnValuesQuery->Open();
84
 
85
#if TDBADVGRID_FIXED
86
	buildTransactionSpecificationValueTree( *NewPayloadStructureGrid, *TxnValuesQuery );
87
#endif
88
}
89
//---------------------------------------------------------------------------
90
 
91
void __fastcall TMainForm::FormShow(TObject *Sender)
92
{
93
	IntegrationDBConnection->Open( "Admin", "" );
94
 
95
	populatePayloadStructureTab( "TDBAdvGrid Test" );
96
}
97
//---------------------------------------------------------------------------
98