📄 u_clsld.pas
字号:
unit U_clsld;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DBCtrls, Buttons, Mask, Grids, DBGrids, ExtCtrls, Db, DBClient,
ComCtrls, Menus, ImgList, QuickRpt, Qrctrls, variants;
type
TfrmClsld = class(TForm)
ScrollBox2: TScrollBox;
pnl_detail: TPanel;
DBGrid: TDBGrid;
pnl_operate: TPanel;
btn_insert: TSpeedButton;
btn_find: TSpeedButton;
btn_save: TSpeedButton;
btn_cancel: TSpeedButton;
btn_delete: TSpeedButton;
btn_edit: TSpeedButton;
btn_refresh: TSpeedButton;
DBNavigator: TDBNavigator;
pnl_Main: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label14: TLabel;
Label15: TLabel;
Label39: TLabel;
edtSlzh: TDBEdit;
edtZdrq: TDBEdit;
edtGycj: TDBEdit;
edtWzly: TDBEdit;
edtCgr: TDBEdit;
edtHtbh: TDBEdit;
edtFpje: TDBEdit;
edtQzyzf: TDBEdit;
edtFph: TDBEdit;
edtShr: TDBEdit;
edtDjbz: TDBEdit;
cbSfsh: TDBCheckBox;
cmbCkmc: TDBComboBox;
pnl_Main1: TPanel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
edtZg: TDBEdit;
edtZdr: TDBEdit;
edtYsr: TDBEdit;
DataSource_Main: TDataSource;
DataSource_Detail: TDataSource;
StatusBar1: TStatusBar;
btn_cgr: TBitBtn;
btn_zg: TBitBtn;
btn_zdr: TBitBtn;
btn_ysr: TBitBtn;
Timer1: TTimer;
pm_Detail: TPopupMenu;
ImageList1: TImageList;
pmi_Insert: TMenuItem;
pmi_Delete: TMenuItem;
btn_print: TSpeedButton;
PopupMenu2: TPopupMenu;
N_Passed: TMenuItem;
N_NotPassed: TMenuItem;
N_All: TMenuItem;
QuickRep: TQuickRep;
QRBand1: TQRBand;
QRLabel1: TQRLabel;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRDBText3: TQRDBText;
QRLabel7: TQRLabel;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
QRDBText7: TQRDBText;
QRDBText8: TQRDBText;
QRDBText9: TQRDBText;
QRLabel10: TQRLabel;
QRDBText10: TQRDBText;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText;
QRDBText6: TQRDBText;
QRLabel11: TQRLabel;
QRLabel12: TQRLabel;
QRLabel13: TQRLabel;
QRDBText11: TQRDBText;
QRDBText12: TQRDBText;
QRDBText13: TQRDBText;
PageHeaderBand1: TQRBand;
QRLabel14: TQRLabel;
QRLabel22: TQRLabel;
QRSysData1: TQRSysData;
QRShape1: TQRShape;
QRSubDetail1: TQRSubDetail;
QRDBText14: TQRDBText;
QRDBText15: TQRDBText;
QRDBText16: TQRDBText;
QRDBText17: TQRDBText;
QRDBText18: TQRDBText;
QRDBText19: TQRDBText;
QRShape2: TQRShape;
SummaryBand1: TQRBand;
QRDBText22: TQRDBText;
QRDBText24: TQRDBText;
QRLabel21: TQRLabel;
QRLabel23: TQRLabel;
QRLabel24: TQRLabel;
QRDBText25: TQRDBText;
QRDBText26: TQRDBText;
QRDBText27: TQRDBText;
QRDBText28: TQRDBText;
QRLabel25: TQRLabel;
QRLabel26: TQRLabel;
QRLabel27: TQRLabel;
PageFooterBand1: TQRBand;
QRLabel28: TQRLabel;
QRLabel29: TQRLabel;
QRSysData2: TQRSysData;
ColumnHeaderBand1: TQRBand;
QRLabel15: TQRLabel;
QRLabel16: TQRLabel;
QRLabel17: TQRLabel;
QRLabel18: TQRLabel;
QRLabel19: TQRLabel;
QRLabel20: TQRLabel;
btn_gycj: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btn_insertClick(Sender: TObject);
procedure btn_editClick(Sender: TObject);
procedure btn_cancelClick(Sender: TObject);
procedure btn_saveClick(Sender: TObject);
procedure btn_cgrClick(Sender: TObject);
procedure btn_zgClick(Sender: TObject);
procedure btn_zdrClick(Sender: TObject);
procedure btn_ysrClick(Sender: TObject);
procedure btn_refreshClick(Sender: TObject);
procedure btn_findClick(Sender: TObject);
procedure btn_deleteClick(Sender: TObject);
procedure DBGridDblClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure pmi_InsertClick(Sender: TObject);
procedure pmi_DeleteClick(Sender: TObject);
procedure btn_printClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure N_PassedClick(Sender: TObject);
procedure N_NotPassedClick(Sender: TObject);
procedure N_AllClick(Sender: TObject);
private
procedure btn_valid;
{ Private declarations }
public
{ Public declarations }
end;
var
frmClsld: TfrmClsld;
implementation
uses U_mainform, WzglDB, u_public, U_fzlr_clbm, GenQ3;
{$R *.DFM}
procedure TfrmClsld.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := cafree;
frmClsld := nil;
end;
procedure TfrmClsld.btn_insertClick(Sender: TObject);
begin
//取消过滤
DM.CDS_CLSLD.filter := '';
DM.CDS_CLSLD.filtered := true;
//数据集处于添加状态
DM.CDS_CLSLD.Insert;
edtSlzh.enabled := true;
//改变组件的有效性
btn_valid;
cmbCkmc.SetFocus;
end;
procedure TfrmClsld.btn_valid;
begin
DBNavigator.enabled := not dbnavigator.enabled;
btn_insert.enabled := not btn_insert.enabled;
btn_delete.enabled := not btn_delete.enabled;
btn_edit.enabled := not btn_edit.enabled;
btn_cancel.enabled := not btn_cancel.enabled;
btn_Save.enabled := not btn_Save.enabled;
btn_find.enabled := not btn_find.enabled;
btn_refresh.enabled := not btn_refresh.enabled;
btn_print.enabled := not btn_print.enabled;
//显示区的切换
pnl_Main.enabled := not pnl_Main.enabled;
pnl_Main1.enabled := not pnl_Main1.enabled;
//DBGrid中2、3、4、5字段状态切换,其他字段仍是只读
dbgrid.Columns[2].readonly := not dbgrid.Columns[2].readonly;
dbgrid.Columns[3].readonly := not dbgrid.Columns[3].readonly;
dbgrid.Columns[4].readonly := not dbgrid.Columns[4].readonly;
dbgrid.Columns[5].readonly := not dbgrid.Columns[5].readonly;
//辅助录入按钮的可见性切换
btn_gycj.visible := not btn_gycj.visible;
btn_cgr.visible := not btn_cgr.visible;
btn_zg.visible := not btn_zg.visible;
btn_zdr.visible := not btn_zdr.visible;
btn_ysr.visible := not btn_ysr.visible;
end;
procedure TfrmClsld.btn_editClick(Sender: TObject);
begin
//先判断是否有记录可编辑
if DM.CDS_CLSLD.recordcount = 0 then
begin
application.MessageBox('没有记录不能编辑', '物资管理系统', mb_iconinformation + mb_defbutton1);
exit;
end;
//判断此单据是否已审核过了,如已审核,就不能修改
if DM.CDS_CLSLD.FieldByName('是否审核').value = true then
begin
application.messagebox('此单据已审核,不能编辑', '物资管理系统', mb_iconinformation + mb_defbutton1);
exit;
end;
//使数据集处于编辑状态
DM.CDS_CLSLD.edit;
edtSlzh.enabled := false;
//设置组件有效性
btn_valid;
cmbckmc.setfocus;
end;
procedure TfrmClsld.btn_cancelClick(Sender: TObject);
begin
//撤消刚才的操作
DM.CDS_CLSLD.CancelUpdates;
//设置数据显示组件为不可用状态
btn_valid;
end;
procedure TfrmClsld.btn_saveClick(Sender: TObject);
var
s_slzh: string;
begin
//检查数据的有效性
if cmbCkmc.text = '' then
begin
application.MessageBox('仓库名称不能为空', '物资管理系统', mb_iconinformation + mb_defbutton1);
cmbCkmc.SetFocus;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -