📄 viewhousefm.pas
字号:
Unit ViewHouseFM;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh, DB, ADODB, ExtCtrls,
ComCtrls, ToolWin, StdCtrls, GridsEh, Buttons, frxClass, frxDBSet, frxDesgn,
frxCross, frxExportPDF, frxExportHTML, frxDCtrl;
Type
TfrmViewHouse = Class(TForm)
ToolBar1: TToolBar;
btnAdd: TSpeedButton;
btnModifi: TSpeedButton;
btnDel: TSpeedButton;
btnReflesh: TSpeedButton;
AALabel1: TLabel;
Panel1: TPanel;
Splitter1: TSplitter;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
DBGridEH1: TDBGridEh;
Splitter2: TSplitter;
DBGridEh2: TDBGridEh;
DataSource2: TDataSource;
ADOQuery2: TADOQuery;
DBGridEh3: TDBGridEh;
DataSource3: TDataSource;
ADOQuery3: TADOQuery;
btnPreview: TSpeedButton;
CheckBox1: TCheckBox;
frxReport1: TfrxReport;
btnDesign: TSpeedButton;
frxDBDataset1: TfrxDBDataset;
frxPDFExport1: TfrxPDFExport;
frxHTMLExport1: TfrxHTMLExport;
frxDBDataset2: TfrxDBDataset;
frxDBDataset3: TfrxDBDataset;
Procedure SetBtnEnable(bEn: Boolean);
Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
Procedure FormCreate(Sender: TObject);
Procedure DBGridEh1CellClick(Column: TColumnEh);
Procedure DBGridEh2CellClick(Column: TColumnEh);
Procedure btnRefleshClick(Sender: TObject);
Procedure btnDelClick(Sender: TObject);
Procedure btnModifiClick(Sender: TObject);
Procedure btnAddClick(Sender: TObject);
Procedure DBGridEh3DblClick(Sender: TObject);
Procedure btnPreviewClick(Sender: TObject);
Procedure ADOQuery1AfterScroll(DataSet: TDataSet);
Procedure ADOQuery2AfterScroll(DataSet: TDataSet);
procedure btnDesignClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ADOQuery3AfterPost(DataSet: TDataSet);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
frmViewHouse : TfrmViewHouse;
Implementation
Uses MainDM, EditHourseFM, PUBFunction, Globe;
{$R *.dfm}
Procedure TfrmViewHouse.FormClose(Sender: TObject;
Var Action: TCloseAction);
Begin
Action := cafree;
frmViewHouse := nil;
End;
Procedure TfrmViewHouse.SetBtnEnable(bEn: Boolean);
Begin
btnAdd.Enabled := bEn;
btnModifi.Enabled := bEn;
btnDel.Enabled := bEn;
btnReflesh.Enabled := bEn;
// CheckBox1.Enabled :=bEn;
// CheckBox1.Checked :=not bEn;
End;
Procedure TfrmViewHouse.FormCreate(Sender: TObject);
Begin
btnRefleshClick(Sender);
SetBtnEnable(ADOQuery1.recordcount > 0);
End;
procedure TfrmViewHouse.FormShow(Sender: TObject);
begin
frxReport1.LoadFromFile(Path + 'Report\ViewHouse.fr3');
end;
Procedure TfrmViewHouse.DBGridEh1CellClick(Column: TColumnEh);
Begin
ADOQuery3.Close;
ADOQuery2.Close;
With ADOQuery2 Do Begin
sql.Text := 'select * FROM 项目信息表 WHERE 公司编号=''' +
ADOQuery1.fieldbyname('code').AsString + '''';
open;
SetBtnEnable(recordcount > 0);
End;
If ADOQuery2.recordcount > 0 Then
DBGridEh2CellClick(DBGridEh2.Columns.Items[0]);
End;
Procedure TfrmViewHouse.DBGridEh2CellClick(Column: TColumnEh);
Begin
ADOQuery3.Close;
With ADOQuery3 Do Begin
sql.Text := 'select * FROM 单体信息表 WHERE 公司编号=''' +
ADOQuery1.fieldbyname('code').Text + ''' and 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').Text + '''';
open;
End;
End;
Procedure TfrmViewHouse.btnRefleshClick(Sender: TObject);
Begin
// ADOQuery1.Close;
ADOQuery1.sql.Text := 'SELECT CName, code from Company';
ADOQuery1.open;
If ADOQuery1.recordcount > 0 Then
DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);
End;
Procedure TfrmViewHouse.btnDelClick(Sender: TObject);
Procedure DelRecAboutGD(sTablename: String);
Var
ADOD: TADOQuery;
Begin
ADOD := TADOQuery.create(self);
With ADOD Do Begin
connection := DMMain.ADOConnection1;
sql.Text := 'DELETE * FROM ' + sTablename + ' where 公司编号=''' +
ADOQuery3.fieldbyname('公司编号').Text + ''' And 项目编号=''' +
ADOQuery3.fieldbyname('项目编号').Text + ''' and 幢号=''' +
ADOQuery3.fieldbyname('幢号').Text + '''';
ExecSQL;
Free;
End;
End;
Var
i: integer;
Begin
If ADOQuery3.Active Then Begin
For i := 0 To sTnames.Count - 1 Do
If (ExtFieldInTable(sTnames[i], '幢号')) Then
If Not (sTnames[i] = '单体信息表') Then
DelRecAboutGD(sTnames[i]);
If ADOQuery3.recordcount > 0 Then
ADOQuery3.Delete;
End;
End;
Procedure TfrmViewHouse.btnModifiClick(Sender: TObject);
Begin
If ADOQuery3.Active Then
Begin
If ADOQuery3.recordcount = 0 Then Exit;
ADOQuery3.edit;
if frmEditHourse = nil then
frmEditHourse := TfrmEditHourse.create(self);
frmEditHourse.Show;
frmEditHourse.BADD := false;
End;
End;
Procedure TfrmViewHouse.btnAddClick(Sender: TObject);
Begin
If ADOQuery3.Active Then Begin
If ADOQuery2.recordcount = 0 Then Exit;
ADOQuery3.Insert;
if frmEditHourse = nil then
frmEditHourse := TfrmEditHourse.create(self);
frmEditHourse.Show;
frmEditHourse.BADD := true;
End;
End;
Procedure TfrmViewHouse.DBGridEh3DblClick(Sender: TObject);
Begin
btnModifi.click;
End;
Procedure TfrmViewHouse.btnPreviewClick(Sender: TObject);
Begin
// If (CheckBox1.Checked) Or (ADOQuery3.recordcount = 0) Then
// AcReport1.LoadFromFile(CURRDIR+'\NIL_XMQKB.APT')
// Else
// AcReport1.LoadFromFile(CURRDIR+'\XMQKB.APT');
//
// Case TLbSpeedButton(Sender).tag Of
// 21: AcReport1.Preview;
// 22: AcReport1.Print;
// End;
frxReport1.ShowReport;
End;
Procedure TfrmViewHouse.ADOQuery1AfterScroll(DataSet: TDataSet);
Begin
DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);
End;
Procedure TfrmViewHouse.ADOQuery2AfterScroll(DataSet: TDataSet);
Begin
DBGridEh2CellClick(DBGridEh2.Columns.Items[0]);
End;
procedure TfrmViewHouse.ADOQuery3AfterPost(DataSet: TDataSet);
begin
ADOQuery3.UpdateBatch(arAll);
end;
procedure TfrmViewHouse.btnDesignClick(Sender: TObject);
begin
frxReport1.DesignReport;
end;
End.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -