📄 viewunitunit.pas
字号:
UnitPullDownForm.ShowModal;
End;
End;
End;
Procedure TViewUnitForm.ADOQuery4AfterScroll(DataSet: TDataSet);
Begin
DBGridEh4CellClick(DBGridEh4.Columns.Items[0]);
End;
Procedure TViewUnitForm.SetTypeButton(bXKTClick: Boolean = false);
Var
iIndex, i : integer;
sname : String;
stype : TStringlist;
Begin
stype := TStringlist.create;
stype.Add('无');
stype.Add('未售');
stype.Add('预(销)售');
stype.Add('预定');
stype.Add('预留');
stype.Add('租赁');
stype.Add('抵押');
stype.Add('拆迁还建');
If Not bXKTClick Then Begin
sname := ADOQuery4.fieldbyname('销售类型').Text;
iIndex := stype.IndexOf(sname);
For i := 0 To ComponentCount - 1 Do Begin
If components[i] Is TLbButton Then
If (components[i] As TLbButton).tag In [101..107] Then
If (components[i] As TLbButton).tag = iIndex + 100 Then
(components[i] As TLbButton).LightColor := clGreen
Else
(components[i] As TLbButton).LightColor := clgray;
End;
End Else Begin
End;
stype.Free;
End;
Procedure TViewUnitForm.ComboBox1Change(Sender: TObject);
Var
ST : String;
Begin
ST := combobox1.Text;
If ST = '无' Then
ST := ''
Else
ST := ''' and 销售类型=''' + combobox1.Text;
With ADOQuery4 Do Begin
sql.Text := 'select * FROM 单元信息表 WHERE 公司编号=''' +
ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
ADOQuery3.fieldbyname('幢号').Text + ST + '''';
open;
End;
DBGridEh4CellClick(DBGridEh4.Columns.Items[0]);
End;
Procedure TViewUnitForm.ADOQuery1AfterScroll(DataSet: TDataSet);
Begin
DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);
End;
Procedure TViewUnitForm.ADOQuery2AfterScroll(DataSet: TDataSet);
Begin
DBGridEh2CellClick(DBGridEh2.Columns.Items[0]);
End;
Procedure TViewUnitForm.FlashXKT;
Function GetHourseHor: integer;
Var
adotemp : TADOQuery;
Max, temp, i : integer;
sLayer, sroom : String;
Begin
adotemp := TADOQuery.create(self);
Max := 0;
With adotemp Do Begin
connection := DM.DataModule2.ADOConnection1;
sql.Text := 'select 房号 FROM 单元信息表 ';
open;
If recordcount > 0 Then Begin
For i := 0 To recordcount - 1 Do Begin
sroom := splitRoom(fieldbyname('房号').Text, sLayer);
temp := StrToInt(sroom);
If temp > Max Then Max := temp;
Next;
End;
End
Else Begin
Max := 0;
End;
Free;
End;
result := Max;
End;
Var
i, j, layer, Houres: integer;
HLID, HRID : String;
LLID, LRID : integer;
HOURSEID : String;
adot : TADOQuery;
Begin
For i := 1 To StringGrid1.RowCount - 1 Do StringGrid1.Rows[i].Clear;
StringGrid1.RowCount := 2;
StringGrid1.ColCount := 2;
//第1步骤完成
With ADOQuery3 Do Begin
If recordcount = 0 Then Exit;
layer := StrToIntDef(fieldbyname('总层数').Text, 0);
Houres := StrToIntDef(fieldbyname('总套数').Text, 0);
End;
With StringGrid1 Do Begin
If layer > 0 Then
RowCount := layer + 1
Else
RowCount := 2;
ColCount := GetHourseHor + 1;
cells[0, 0] := '楼层';
For i := 1 To RowCount Do Begin
cells[0, i] := IntToStr(i);
End;
For i := 1 To ColCount Do Begin
cells[i, 0] := IntToStr(i);
End;
StringGrid1.Refresh;
End;
roomlist.Clear;
adot := TADOQuery.create(self);
With adot Do Begin
connection := DM.DataModule2.ADOConnection1;
For i := 1 To layer Do Begin
Close;
sql.Text := 'select * from 单元信息表 where 公司编号='''
+
ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
ADOQuery3.fieldbyname('幢号').Text + ''' and 所在楼层='
+ IntToStr(i) + ' ORDER BY 房号';
open;
If recordcount > 0 Then Begin
For j := 0 To recordcount - 1 Do Begin
HOURSEID := fieldbyname('房号').Text;
roomlist.Add(HOURSEID);
roomlist.Add(fieldbyname('销售类型').Text);
HRID := splitRoom(HOURSEID, HLID);
LLID := StrToInt(HLID);
LRID := StrToInt(HRID);
StringGrid1.cells[LRID, LLID] := HOURSEID;
Next;
End;
End;
End;
Free;
End;
End;
Procedure TViewUnitForm.StringGrid1DrawCell(Sender: TObject; ACol,
ARow: integer; Rect: TRect; State: TGridDrawState);
Var
BUYtype : String;
Index : integer;
Begin
With StringGrid1 Do Begin
If (ARow = 0) Or (ACol = 0) Then
Canvas.Brush.Color := clBTNFACE
Else Begin
If cells[ACol, ARow] = '' Then
Canvas.Brush.Color := clBTNFACE
Else Begin
If roomlist.Count > 0 Then Begin
Index := roomlist.IndexOf(cells[ACol, ARow]);
If Index >= 0 Then Begin
BUYtype := Trim(roomlist.Strings[Index + 1]);
If BUYtype = '预(销)售' Then
Canvas.Brush.Color := cllime
Else If BUYtype = '预留' Then
Canvas.Brush.Color := clYellow
Else If BUYtype = '预定' Then
Canvas.Brush.Color := clAqua
Else If BUYtype = '未售' Then
Canvas.Brush.Color := clwhite
Else If BUYtype = '租赁' Then
Canvas.Brush.Color := clFuchsia
Else If BUYtype = '抵押' Then
Canvas.Brush.Color := clSkyblue
Else If BUYtype = '拆迁还建' Then
Canvas.Brush.Color := clSilVer;
End;
End;
End;
End;
Canvas.Font.Size := 12;
If (ACol = col) And (ARow = row) Then Begin
Canvas.Font.Name := '黑体';
Canvas.Font.Color := clred;
End
Else Begin
Canvas.Font.Name := '宋体';
Canvas.Font.Color := clblack;
End;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, cells[ACol, ARow]);
End;
End;
Procedure TViewUnitForm.PageControl1Change(Sender: TObject);
Begin
LbSpeedButton4.click;
End;
Procedure TViewUnitForm.DBGridEh3CellClick(Column: TColumnEh);
Begin
With ADOQuery4 Do Begin
sql.Text := 'select * FROM 单元信息表 WHERE 公司编号=''' +
ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
ADOQuery3.fieldbyname('幢号').Text + '''';
If Not (combobox1.Text = '无') Then
sql.Add(' AND 销售类型=''' + combobox1.Text + '''');
open;
End;
If (bFlash) And (ADOQuery4.recordcount > 0) Then ADOQuery4.RecNo := ADOQuery4.tag;
DBGridEh4CellClick(DBGridEh4.Columns.Items[0]);
End;
Procedure TViewUnitForm.StringGrid1Click(Sender: TObject);
Var
HOURSEID : String;
TCOL, TROW : integer;
Begin
With StringGrid1 Do Begin
If RowCount = 1 Then Exit;
MouseToCell(MX, MY, TCOL, TROW);
If ((TCOL <> col) And (TROW <> row)) Then Exit;
HOURSEID := StringGrid1.cells[col, row];
If Trim(HOURSEID) = '' Then Exit;
End;
ADOQuery4.sql.Text :=
'SELECT * FROM 单元信息表 WHERE 公司编号=''' +
ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
ADOQuery3.fieldbyname('幢号').Text + ''' AND 房号=''' +
HOURSEID + '''';
ADOQuery4.open;
DBGridEh4CellClick(ViewUnitForm.DBGridEh4.Columns.Items[0]);
End;
Procedure TViewUnitForm.StringGrid1MouseMove(Sender: TObject;
Shift: TShiftState; x, y: integer);
Begin
MX := x;
MY := y;
End;
Procedure TViewUnitForm.StringGrid1DblClick(Sender: TObject);
Var
HOURSEID : String;
TCOL, TROW : integer;
Begin
With StringGrid1 Do Begin
If RowCount = 1 Then Exit;
MouseToCell(MX, MY, TCOL, TROW);
If ((TCOL <> col) And (TROW <> row)) Then Exit;
HOURSEID := StringGrid1.cells[col, row];
If Trim(HOURSEID) = '' Then Exit;
End;
ADOQuery4.sql.Text :=
'SELECT * FROM 单元信息表 WHERE 公司编号=''' +
ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
ADOQuery3.fieldbyname('幢号').Text + ''' AND 房号=''' +
HOURSEID + '''';
ADOQuery4.open;
DBGridEh4CellClick(ViewUnitForm.DBGridEh4.Columns.Items[0]);
LbSpeedButton2.click;
End;
End.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -