unit U_WarpBeamInfoList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, U_BaseList; type TfrmWarpBeamInfoList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; TBDel: TToolButton; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; TBAdd: TToolButton; TBEdit: TToolButton; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; cxGrid2Level1: TcxGridLevel; v1Column1: TcxGridDBColumn; Label4: TLabel; WBNo: TEdit; ToolButton1: TToolButton; Tv1Column1: TcxGridDBColumn; 打印: TToolButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure 打印Click(Sender: TObject); private canshu1, FSTKName, canshu3: string; procedure InitGrid(); { Private declarations } public { Public declarations } end; implementation uses U_DataLink, U_RTFun, U_WarpBeamInfoInPut, U_LabelPrint; {$R *.dfm} procedure TfrmWarpBeamInfoList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmWarpBeamInfoList.FormCreate(Sender: TObject); begin inherited; canshu1 := Trim(DParameters1); FSTKName := Trim(DParameters2); canshu3 := Trim(DParameters3); end; procedure TfrmWarpBeamInfoList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from Tat_WB_Stk A'); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmWarpBeamInfoList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmWarpBeamInfoList.ToolButton1Click(Sender: TObject); begin WriteCxGrid(Self.Caption, Tv1, '染色坯布仓库'); end; procedure TfrmWarpBeamInfoList.打印Click(Sender: TObject); var MWBID: string; begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; MWBID := ''; CDS_Main.DisableControls; with CDS_Main do begin First; while CDS_Main.Locate('SSel', True, []) do begin MWBID := MWBID + ',' + (Trim(CDS_Main.fieldbyname('WBID').AsString)); Edit; FieldByName('SSel').Value := False; Post; end; end; CDS_Main.EnableControls; try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FLMType := 'TatWBPrt1'; FFiltration1 := MWBID; if ShowModal = 1 then begin // Self.InitGrid(); end; end; finally frmLabelPrint.Free; end; end; procedure TfrmWarpBeamInfoList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmWarpBeamInfoList.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmWarpBeamInfoList.FormShow(Sender: TObject); begin inherited; ReadCxGrid(Self.Caption, Tv1, '染色坯布仓库'); InitGrid(); end; procedure TfrmWarpBeamInfoList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel(trim(self.Caption), cxGrid2); end; procedure TfrmWarpBeamInfoList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); end; end; procedure TfrmWarpBeamInfoList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmWarpBeamInfoList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmWarpBeamInfoList.TBDelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Tat_WB_IO where WBNo=''' + Trim(CDS_Main.fieldbyname('WBNo').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('已入库不能操作!', '提示', 0); Exit; end; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' delete Tat_WB_Stk where WBID=''' + Trim(CDS_Main.fieldbyname('WBID').AsString) + ''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('删除异常!', '提示', 0); end; end; procedure TfrmWarpBeamInfoList.TBAddClick(Sender: TObject); begin try frmWarpBeamInfoInPut := TfrmWarpBeamInfoInPut.Create(Application); with frmWarpBeamInfoInPut do begin FBCId := ''; FSTKName := self.FSTKName; if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmWarpBeamInfoInPut.Free; end; end; procedure TfrmWarpBeamInfoList.TBEditClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Tat_WB_IO where WBNo=''' + Trim(CDS_Main.fieldbyname('WBNo').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('已入库不能操作!', '提示', 0); Exit; end; try frmWarpBeamInfoInPut := TfrmWarpBeamInfoInPut.Create(Application); with frmWarpBeamInfoInPut do begin FBCId := Trim(CDS_Main.fieldbyname('WBID').AsString); FSTKName := self.FSTKName; TBDel.Visible := False; TBAdd.Visible := False; if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmWarpBeamInfoInPut.Free; end; end; end.