📄 viewunitfm.pas.~23~
字号:
Unit ViewUnitFM;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, DB, ADODB,Grids, DBGridEh, ExtCtrls, StdCtrls,
GridsEh, Buttons;
Type
TfrmViewUnit = Class(TForm)
ToolBar1: TToolBar;
btnAdd: TSpeedButton;
btnModifi: TSpeedButton;
btnDel: TSpeedButton;
btnReflesh: TSpeedButton;
btnClose: TSpeedButton;
AALabel1: TLabel;
Panel1: TPanel;
Splitter2: TSplitter;
DBGridEH1: TDBGridEh;
DBGridEh2: TDBGridEh;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
DataSource2: TDataSource;
ADOQuery2: TADOQuery;
DBGridEh3: TDBGridEh;
Splitter1: TSplitter;
ADOQuery3: TADOQuery;
DataSource3: TDataSource;
Splitter3: TSplitter;
DataSource4: TDataSource;
ADOQuery4: TADOQuery;
DBGridEh5: TDBGridEh;
Panel3: TPanel;
Panel2: TPanel;
AALabel36: TLabel;
AALabel35: TLabel;
AALabel37: TLabel;
AALabel38: TLabel;
AALabel39: TLabel;
LbButton4: TButton;
LbButton5: TButton;
LbButton6: TButton;
LbButton7: TButton;
LbButton8: TButton;
LbButton9: TButton;
LbButton10: TButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Panel4: TPanel;
AALabel21: TLabel;
combobox1: TComboBox;
DBGridEh4: TDBGridEh;
TabSheet2: TTabSheet;
Panel5: TPanel;
StaticText12: TStaticText;
StaticText13: TStaticText;
StaticText14: TStaticText;
StaticText15: TStaticText;
StaticText20: TStaticText;
StaticText30: TStaticText;
StaticText29: TStaticText;
StringGrid1: TStringGrid;
Label1: TLabel;
Procedure FlashXKT;
Procedure SetTypeButton(bXKTClick: Boolean = false);
Procedure SetBtnEnable(bEn: Boolean);
Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
Procedure btnCloseClick(Sender: TObject);
Procedure FormCreate(Sender: TObject);
Procedure btnRefleshClick(Sender: TObject);
Procedure DBGridEh1CellClick(Column: TColumnEh);
Procedure DBGridEh2CellClick(Column: TColumnEh);
Procedure btnDelClick(Sender: TObject);
Procedure btnModifiClick(Sender: TObject);
Procedure btnAddClick(Sender: TObject);
Procedure DBGridEh4DblClick(Sender: TObject);
Procedure DBGridEh4CellClick(Column: TColumnEh);
Procedure LbButton4Click(Sender: TObject);
Procedure ADOQuery4AfterScroll(DataSet: TDataSet);
Procedure ComboBox1Change(Sender: TObject);
Procedure ADOQuery1AfterScroll(DataSet: TDataSet);
Procedure ADOQuery2AfterScroll(DataSet: TDataSet);
Procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: integer;
Rect: TRect; State: TGridDrawState);
Procedure PageControl1Change(Sender: TObject);
Procedure DBGridEh3CellClick(Column: TColumnEh);
Procedure StringGrid1Click(Sender: TObject);
Procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; x,
y: integer);
Procedure StringGrid1DblClick(Sender: TObject);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
frmViewUnit : TfrmViewUnit;
bFlash : Boolean;
roomlist : TStringlist;
MX, MY : integer;
Implementation
Uses MainDM, MainFM, PUBFunction, EditUnitFM, UnitTenancyFM, UnitSellFM,
UnitForSaleFM, UnitObligateFM, UnitPreconcertFM, UnitMortgageFM,
UnitPullDownFM;
{$R *.dfm}
Procedure TfrmViewUnit.FormClose(Sender: TObject;
Var Action: TCloseAction);
Begin
roomlist.Free;
Action := cafree;
frmViewUnit := Nil;
End;
Procedure TfrmViewUnit.btnCloseClick(Sender: TObject);
Begin
Close;
End;
Procedure TfrmViewUnit.FormCreate(Sender: TObject);
Begin
bFlash := false;
roomlist := TStringlist.create;
combobox1.Text := frmMain.sunitFilter;
ADOQuery1.SQL.Text := 'select cname, code from company';
ADOQuery1.Open;
SetBtnEnable(ADOQuery1.recordcount > 0);
If ADOQuery1.recordcount > 0 Then
DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);
End;
Procedure TfrmViewUnit.btnRefleshClick(Sender: TObject);
Begin
If TabSheet1.Showing Then Begin
bFlash := true;
ADOQuery1.tag := ADOQuery1.RecNo;
ADOQuery2.tag := ADOQuery2.RecNo;
ADOQuery3.tag := ADOQuery3.RecNo;
ADOQuery4.tag := ADOQuery4.RecNo;
ADOQuery1.Active := true;
SetBtnEnable(ADOQuery1.recordcount > 0);
If ADOQuery1.recordcount > 0 Then Begin
If bFlash Then ADOQuery1.RecNo := ADOQuery1.tag;
DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);
End;
End Else If TabSheet2.Showing Then Begin
//Call 刷新销控图
FlashXKT;
MX := 150;
MY := 30;
StringGrid1Click(self);
End;
End;
Procedure TfrmViewUnit.SetBtnEnable(bEn: Boolean);
Begin
btnAdd.Enabled := bEn;
btnModifi.Enabled := bEn;
btnDel.Enabled := bEn;
btnReflesh.Enabled := bEn;
End;
Procedure TfrmViewUnit.DBGridEh1CellClick(Column: TColumnEh);
Begin
ADOQuery4.Close;
With ADOQuery2 Do Begin
sql.Text := 'select 项目编号,项目名称 FROM 项目信息表 WHERE 公司编号=''' +
ADOQuery1.fieldbyname('code').AsString + '''';
open;
SetBtnEnable(recordcount > 0);
End;
If ADOQuery2.recordcount > 0 Then Begin
If bFlash Then ADOQuery2.RecNo := ADOQuery2.tag;
DBGridEh2CellClick(DBGridEh2.Columns.Items[0]);
End;
End;
Procedure TfrmViewUnit.DBGridEh2CellClick(Column: TColumnEh);
Begin
ADOQuery4.Close;
With ADOQuery3 Do Begin
sql.Text :=
'select * FROM 单体信息表 WHERE 公司编号=''' +
ADOQuery1.fieldbyname('code').AsString + ''' and 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').AsString + '''';
open;
SetBtnEnable(recordcount > 0);
End;
If ADOQuery3.recordcount > 0 Then Begin
If bFlash Then ADOQuery3.RecNo := ADOQuery3.tag;
DBGridEh3CellClick(DBGridEh3.Columns.Items[0]);
End;
End;
Procedure TfrmViewUnit.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 公司编号=''' +
ADOQuery4.fieldbyname('公司编号').Text + ''' And 项目编号=''' +
ADOQuery4.fieldbyname('项目编号').Text + ''' and 幢号=''' +
ADOQuery4.fieldbyname('幢号').Text + ''' and 房号=''' +
ADOQuery4.fieldbyname('房号').Text + '''';
ExecSQL;
Free;
End;
End;
Var
i: integer;
Begin
If ADOQuery4.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 ADOQuery4.recordcount > 0 Then
ADOQuery4.Delete;
End;
End;
Procedure TfrmViewUnit.btnModifiClick(Sender: TObject);
Begin
If ADOQuery4.Active Then Begin
If ADOQuery4.recordcount = 0 Then Exit;
ADOQuery4.edit;
if frmEditUnit = nil then
frmEditUnit := TfrmEditUnit.create(nil);
frmEditUnit.Show;
frmEditUnit.BADD := false;
End;
End;
Procedure TfrmViewUnit.btnAddClick(Sender: TObject);
Begin
If ADOQuery4.Active Then Begin
ADOQuery4.Append;
frmEditUnit.BADD := true;
If Assigned(frmEditUnit) Then Begin
SetWindowPos(frmEditUnit.Handle, 0, 0, 0, 0, 0, swp_nomove +
swp_nosize);
Exit;
End;
frmEditUnit := TfrmEditUnit.create(self);
frmEditUnit.Show;
End;
End;
Procedure TfrmViewUnit.DBGridEh4DblClick(Sender: TObject);
Begin
btnModifi.click;
End;
Procedure TfrmViewUnit.DBGridEh4CellClick(Column: TColumnEh);
Begin
SetTypeButton;
End;
Procedure TfrmViewUnit.LbButton4Click(Sender: TObject);
Begin
If TButton(Sender).Font.Color <> clGreen Then Exit;
If TButton(Sender).Caption <> ADOQuery4.fieldbyname('销售类型').Text Then Begin
Application.MessageBox('销售类型不对!请刷新数据后再操作', '提示',
MB_ICONERROR);
Exit;
End;
Case TButton(Sender).tag Of
101: Begin //待售
frmUnitForSale := TfrmUnitForSale.create(self);
frmUnitForSale.Show;
End;
102: Begin //预售
frmUnitSell := TfrmUnitSell.create(self);
frmUnitSell.Show;
End;
103: Begin //预定
frmUnitPreconcert := TfrmUnitPreconcert.create(self);
frmUnitPreconcert.Show;
End;
104: Begin //预留
frmunitObligate := TfrmunitObligate.create(self);
frmunitObligate.Show;
End;
105: Begin //租赁
frmUnitTenancy := TfrmUnitTenancy.create(self);
frmUnitTenancy.Show;
End;
106: Begin //抵押
frmUnitMortgage := TfrmUnitMortgage.create(self);
frmUnitMortgage.Show;
End;
107: Begin //拆迁还建
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -