📄 viewitemfm.pas
字号:
Unit VIEWItemFM;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DB, ADODB, Grids, DBGridEh, ComCtrls, ToolWin, GridsEh,
StdCtrls, Buttons;
Type
TfrmVIEWItem = Class(TForm)
ToolBar1: TToolBar;
btnAdd: TSpeedButton;
btnModifi: TSpeedButton;
btnDel: TSpeedButton;
btnReflesh: TSpeedButton;
btnClose: TSpeedButton;
Panel1: TPanel;
AALabel1: TLabel;
DBGridEH1: TDBGridEh;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
Splitter1: TSplitter;
ADOQuery2: TADOQuery;
DataSource2: TDataSource;
DBGridEh2: TDBGridEh;
Procedure SetBtnEnable(bEn: Boolean);
Procedure btnCloseClick(Sender: TObject);
Procedure btnRefleshClick(Sender: TObject);
Procedure btnDelClick(Sender: TObject);
Procedure DBGridEh1CellClick(Column: TColumnEh);
Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
Procedure FormCreate(Sender: TObject);
Procedure btnAddClick(Sender: TObject);
Procedure btnModifiClick(Sender: TObject);
Procedure DBGridEh2DblClick(Sender: TObject);
Procedure ADOQuery1AfterScroll(DataSet: TDataSet);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
frmVIEWItem : TfrmVIEWItem;
Implementation
Uses MainDM, EditItemFM, PUBFunction;
{$R *.dfm}
Procedure TfrmVIEWItem.btnCloseClick(Sender: TObject);
Begin
Close;
End;
Procedure TfrmVIEWItem.btnRefleshClick(Sender: TObject);
Begin
ADOQuery1.Close;
ADOQuery1.sql.Text := 'SELECT cname, code from company';
ADOQuery1.open;
DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);
End;
Procedure TfrmVIEWItem.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 公司编号=''' +
ADOQuery2.fieldbyname('公司编号').Text + ''' And 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').Text + '''';
ExecSQL;
Free;
End;
End;
Var
i: integer;
Begin
If ADOQuery2.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 ADOQuery2.recordcount > 0 Then
ADOQuery2.Delete;
End;
End;
Procedure TfrmVIEWItem.DBGridEh1CellClick(Column: TColumnEh);
Begin
If ADOQuery1.recordcount = 0 Then Exit;
ADOQuery2.sql.Text := 'select * from 项目信息表 where 公司编号=''' +
ADOQuery1.fieldbyname('code').Text + '''';
ADOQuery2.open;
End;
Procedure TfrmVIEWItem.SetBtnEnable(bEn: Boolean);
Begin
btnAdd.Enabled := bEn;
btnModifi.Enabled := bEn;
btnDel.Enabled := bEn;
btnReflesh.Enabled := bEn;
End;
Procedure TfrmVIEWItem.FormClose(Sender: TObject;
Var Action: TCloseAction);
Begin
Action := cafree;
frmVIEWItem := Nil;
End;
Procedure TfrmVIEWItem.FormCreate(Sender: TObject);
Begin
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 TfrmVIEWItem.btnAddClick(Sender: TObject);
Begin
If ADOQuery2.Active Then Begin
ADOQuery2.Insert;
If frmEditItem = nil then
frmEditItem := TfrmEditItem.create(self);
frmEditItem.Show;
frmEditItem.BADD := true;
End;
End;
Procedure TfrmVIEWItem.btnModifiClick(Sender: TObject);
Begin
If ADOQuery2.Active Then Begin
If ADOQuery2.recordcount = 0 Then Exit;
ADOQuery2.edit;
If frmEditItem = nil then
frmEditItem := TfrmEditItem.create(self);
frmEditItem.Show;
frmEditItem.BADD := False;
End;
End;
Procedure TfrmVIEWItem.DBGridEh2DblClick(Sender: TObject);
Begin
btnModifi.click; //修改显示
End;
Procedure TfrmVIEWItem.ADOQuery1AfterScroll(DataSet: TDataSet);
Begin
DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);
End;
End.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -