unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters, cxCustomData, cxStyles, cxTL, cxMaskEdit, cxBlobEdit, cxTLdxBarBuiltInMenu, Buttons, ExtCtrls, FIBDatabase, pFIBDatabase, DB, FIBDataSet, pFIBDataSet, cxInplaceContainer, cxDBTL, cxTLData; type TForm1 = class(TForm) cxDBTreeList1: TcxDBTreeList; cxDBTreeList1ID: TcxDBTreeListColumn; cxDBTreeList1LOGO: TcxDBTreeListColumn; cxDBTreeList1NAME: TcxDBTreeListColumn; cxDBTreeList1OWNER_SPR_MENU_ID: TcxDBTreeListColumn; DataSource1: TDataSource; FIBSPRMenu: TpFIBDataSet; FIBSPRMenuID: TFIBIntegerField; FIBSPRMenuLOGO: TFIBBlobField; FIBSPRMenuNAME: TFIBStringField; FIBSPRMenuOWNER_SPR_MENU_ID: TFIBIntegerField; Panel1: TPanel; AddButton: TSpeedButton; DelButton: TSpeedButton; EditButton: TSpeedButton; pFIBDatabase1: TpFIBDatabase; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; pFibTransactionWrite: TpFIBTransaction; pFibTransactionRead: TpFIBTransaction; procedure FormCreate(Sender: TObject); procedure cxDBTreeList1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure AddButtonClick(Sender: TObject); procedure EditButtonClick(Sender: TObject); procedure DelButtonClick(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin pFIBDatabase1.Connected:=true; FIBSPRMenu.Active:=true; end; procedure TForm1.cxDBTreeList1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin // end; procedure TForm1.AddButtonClick(Sender: TObject); begin FIBSPRMenu.UpdateTransaction.Active := True; FIBSPRMenu.Append; end; procedure TForm1.EditButtonClick(Sender: TObject); begin FIBSPRMenu.Edit; end; procedure TForm1.DelButtonClick(Sender: TObject); begin FIBSPRMenu.Delete; end; procedure TForm1.SpeedButton1Click(Sender: TObject); begin if FIBSPRMenu.State in [dsEdit, dsInsert] then begin cxDBTreeList1.DataController.PostEditingData; FIBSPRMenu.Post; end; FIBSPRMenu.UpdateTransaction.CommitRetaining; FIBSPRMenu.FullRefresh; end; procedure TForm1.SpeedButton2Click(Sender: TObject); begin FIBSPRMenu.UpdateTransaction.RollbackRetaining; FIBSPRMenu.FullRefresh; end; end. |