Class TForm1 (unit VCDemoMainForm)

Inherits from

TForm

Constructors



Functions

procedure Button1Click(Sender: TObject);


procedure DataSourceDepartmentDataChange(Sender: TObject; Field: TField);


procedure dbtvDepartmentDragDrop(Sender, Source: TObject; X, Y: Integer);

We set dtAutoDragMove in dbtvDepartment.

procedure dbtvDepartmentDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);


procedure dbtvStaffDragDrop(Sender, Source: TObject; X, Y: Integer);


procedure dbtvStaffDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);


procedure dbtvUnassignedDragDrop(Sender, Source: TObject; X, Y: Integer);


procedure dbtvUnassignedDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);


procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);


procedure FormShow(Sender: TObject);


procedure PageControl1Changing(Sender: TObject; var AllowChange: Boolean);


procedure TableDepartmentAfterDelete(DataSet: TDataSet);


procedure TableDepartmentBeforeDelete(DataSet: TDataSet);


procedure TableStaffCalcFields(DataSet: TDataSet);

Refresh would not be needed if we would use TSelfRefreshTables:

procedure TableStaffUnassignedCalcFields(DataSet: TDataSet);


Properties

Events

Variables

Button1 : TButton;


Button2 : TButton;


DataSourceDepartment : TDataSource;


DataSourcePeople : TDataSource;


DataSourceStaff : TDataSource;


DataSourceStaffUnassigned : TDataSource;


DBEdit1 : TDBEdit;


DBEdit2 : TDBEdit;


DBEdit3 : TDBEdit;


DBEdit4 : TDBEdit;


DBEdit5 : TDBEdit;


DBEdit6 : TDBEdit;


DBEdit7 : TDBEdit;


DBEdit8 : TDBEdit;


DBGrid1 : TDBGrid;


DBNavigator1 : TDBNavigator;


DBNavigator2 : TDBNavigator;


DbTreeLookupComboBox1 : TDbTreeLookupComboBox;


dbtvDepartment : TDBTreeView;


dbtvStaff : TDBTreeView;


dbtvUnassigned : TDBTreeView;


Label1 : TLabel;


Label10 : TLabel;


Label11 : TLabel;


Label14 : TLabel;


Label15 : TLabel;


Label16 : TLabel;


Label2 : TLabel;


Label3 : TLabel;


Label4 : TLabel;


Label6 : TLabel;


Label7 : TLabel;


Label8 : TLabel;


Label9 : TLabel;


PageControl1 : TPageControl;


TableDepartment : TTable;


TableDepartmentDateEstablished : TDateField;


TableDepartmentDepartmentID : TStringField;


TableDepartmentDescription : TStringField;


TableDepartmentOwnerDept : TStringField;


TablePeople : TTable;


TablePeopleDepartment : TStringField;


TablePeopleEmpNo : TStringField;


TablePeopleFirstName : TStringField;


TablePeopleHireDate : TDateTimeField;


TablePeopleLastName : TStringField;


TablePeoplePhoneExt : TStringField;


TablePeopleSalary : TFloatField;


TableStaff : TTable;


TableStaffDepartment : TStringField;


TableStaffDisplayName : TStringField;


TableStaffEmpNo : TStringField;


TableStaffFirstName : TStringField;


TableStaffHireDate : TDateTimeField;


TableStaffLastName : TStringField;


TableStaffPhoneExt : TStringField;


TableStaffSalary : TFloatField;


TableStaffUnassigned : TTable;


TableStaffUnassignedDepartment : TStringField;


TableStaffUnassignedDisplayName : TStringField;


TableStaffUnassignedEmpNo : TStringField;


TableStaffUnassignedFirstName : TStringField;


TableStaffUnassignedHireDate : TDateTimeField;


TableStaffUnassignedLastName : TStringField;


TableStaffUnassignedPhoneExt : TStringField;


TableStaffUnassignedSalary : TFloatField;


TabSheetDepartments : TTabSheet;


TabSheetPeople : TTabSheet;


DeletedDepartment : string;



Constructors


Functions


procedure Button1Click(Sender: TObject);


procedure DataSourceDepartmentDataChange(Sender: TObject; Field: TField);


procedure dbtvDepartmentDragDrop(Sender, Source: TObject; X, Y: Integer);

We set dtAutoDragMove in dbtvDepartment.Options, so the items of dbtvDepartment can get moved. But if we use the DragOver-event, we could stop it anyway by setting Accept to false - so we have to set Accept to true if Source = dbtvDepartment:


procedure dbtvDepartmentDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);


procedure dbtvStaffDragDrop(Sender, Source: TObject; X, Y: Integer);


procedure dbtvStaffDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);


procedure dbtvUnassignedDragDrop(Sender, Source: TObject; X, Y: Integer);


procedure dbtvUnassignedDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);


procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);


procedure FormShow(Sender: TObject);


procedure PageControl1Changing(Sender: TObject; var AllowChange: Boolean);


procedure TableDepartmentAfterDelete(DataSet: TDataSet);


procedure TableDepartmentBeforeDelete(DataSet: TDataSet);


procedure TableStaffCalcFields(DataSet: TDataSet);

Refresh would not be needed if we would use TSelfRefreshTables:


procedure TableStaffUnassignedCalcFields(DataSet: TDataSet);


Properties


Events


Variables


Button1 : TButton;


Button2 : TButton;


DataSourceDepartment : TDataSource;


DataSourcePeople : TDataSource;


DataSourceStaff : TDataSource;


DataSourceStaffUnassigned : TDataSource;


DBEdit1 : TDBEdit;


DBEdit2 : TDBEdit;


DBEdit3 : TDBEdit;


DBEdit4 : TDBEdit;


DBEdit5 : TDBEdit;


DBEdit6 : TDBEdit;


DBEdit7 : TDBEdit;


DBEdit8 : TDBEdit;


DBGrid1 : TDBGrid;


DBNavigator1 : TDBNavigator;


DBNavigator2 : TDBNavigator;


DbTreeLookupComboBox1 : TDbTreeLookupComboBox;


dbtvDepartment : TDBTreeView;


dbtvStaff : TDBTreeView;


dbtvUnassigned : TDBTreeView;


Label1 : TLabel;


Label10 : TLabel;


Label11 : TLabel;


Label14 : TLabel;


Label15 : TLabel;


Label16 : TLabel;


Label2 : TLabel;


Label3 : TLabel;


Label4 : TLabel;


Label6 : TLabel;


Label7 : TLabel;


Label8 : TLabel;


Label9 : TLabel;


PageControl1 : TPageControl;


TableDepartment : TTable;


TableDepartmentDateEstablished : TDateField;


TableDepartmentDepartmentID : TStringField;


TableDepartmentDescription : TStringField;


TableDepartmentOwnerDept : TStringField;


TablePeople : TTable;


TablePeopleDepartment : TStringField;


TablePeopleEmpNo : TStringField;


TablePeopleFirstName : TStringField;


TablePeopleHireDate : TDateTimeField;


TablePeopleLastName : TStringField;


TablePeoplePhoneExt : TStringField;


TablePeopleSalary : TFloatField;


TableStaff : TTable;


TableStaffDepartment : TStringField;


TableStaffDisplayName : TStringField;


TableStaffEmpNo : TStringField;


TableStaffFirstName : TStringField;


TableStaffHireDate : TDateTimeField;


TableStaffLastName : TStringField;


TableStaffPhoneExt : TStringField;


TableStaffSalary : TFloatField;


TableStaffUnassigned : TTable;


TableStaffUnassignedDepartment : TStringField;


TableStaffUnassignedDisplayName : TStringField;


TableStaffUnassignedEmpNo : TStringField;


TableStaffUnassignedFirstName : TStringField;


TableStaffUnassignedHireDate : TDateTimeField;


TableStaffUnassignedLastName : TStringField;


TableStaffUnassignedPhoneExt : TStringField;


TableStaffUnassignedSalary : TFloatField;


TabSheetDepartments : TTabSheet;


TabSheetPeople : TTabSheet;


DeletedDepartment : string;