unit U_TatClothWaitReleased; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ADODB, DBClient, ComCtrls, ExtCtrls, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox, Menus, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, Vcl.ToolWin; type TfrmTatClothWaitReleased = class(TForm) cxGrid1: TcxGrid; Tv2: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column14: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; v1PRTMF: TcxGridDBColumn; v1PRTKZ: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Panel1: TPanel; Label2: TLabel; OrderNo: TEdit; Label3: TLabel; PRTColor: TEdit; CDS_OrderSel: TClientDataSet; DataSource1: TDataSource; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; cxGridPopupMenu1: TcxGridPopupMenu; v2Column2: TcxGridDBColumn; Label8: TLabel; CustomerNoName: TEdit; v2Column3: TcxGridDBColumn; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; v2Column8: TcxGridDBColumn; Tv2Column1: TcxGridDBColumn; carNo: TEdit; Label1: TLabel; ToolBar3: TToolBar; ToolButton5: TToolButton; ToolButton8: TToolButton; ToolButton7: TToolButton; ToolButton1: TToolButton; Tv2Column2: TcxGridDBColumn; Tv2Column3: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure FormShow(Sender: TObject); procedure OrderNoChange(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); private { Private declarations } procedure InitGrid(); public { Public declarations } end; var frmTatClothWaitReleased: TfrmTatClothWaitReleased; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmTatClothWaitReleased.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmTatClothWaitReleased.FormDestroy(Sender: TObject); begin frmTatClothWaitReleased := nil; end; procedure TfrmTatClothWaitReleased.FormShow(Sender: TObject); begin ReadCxGrid('订单选择11', Tv2, '成品仓库'); InitGrid(); end; procedure TfrmTatClothWaitReleased.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('select A.*,B.*,C.*'); sql.Add(',ZPPS=(select Count(KC.StkID) from Tat_Cloth_Stock KC where KC.PCID=A.PCID and KC.StkExists=1 ) '); sql.Add(',ZPKGQty=(select sum(StkGrossWeight) from Tat_Cloth_Stock KC where KC.PCID=A.PCID and KC.StkExists=1 ) '); sql.Add(',ZPQty=(select sum(StkMeter) from Tat_Cloth_Stock KC where KC.PCID=A.PCID and KC.StkExists=1 ) '); sql.Add(' from Tat_Plan_Card A inner join Tat_Plan_main B on A.mainid=B.mainid '); sql.Add(' inner join Tat_Plan_Sub C on A.subid=C.subid '); sql.Add(' where exists(select KC.PCID from Tat_Cloth_Stock KC where KC.PCID=A.PCID and KC.StkExists=1)'); // ShowMessage(SQL.Text); Open; end; SCreateCDS(ADOQueryMain, CDS_OrderSel); SInitCDSData(ADOQueryMain, CDS_OrderSel); finally ADOQueryMain.EnableControls; end; end; procedure TfrmTatClothWaitReleased.OrderNoChange(Sender: TObject); begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_OrderSel); SInitCDSData(ADOQueryMain, CDS_OrderSel); end; procedure TfrmTatClothWaitReleased.ToolButton1Click(Sender: TObject); var KHName: string; begin if CDS_OrderSel.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; CDS_OrderSel.DisableControls; KHName := ''; with CDS_OrderSel do begin First; while not Eof do begin if FieldByName('SSel').AsBoolean = True then begin if Trim(KHName) = '' then begin KHName := Trim(fieldbyname('CustNo').AsString); end else begin if Trim(fieldbyname('CustNo').AsString) <> KHName then begin CDS_OrderSel.EnableControls; Application.MessageBox('不能选择不同客户!', '提示', 0); Exit; end; end; end; Next; end; end; CDS_OrderSel.EnableControls; ModalResult := 1; end; procedure TfrmTatClothWaitReleased.ToolButton5Click(Sender: TObject); begin InitGrid(); end; procedure TfrmTatClothWaitReleased.ToolButton7Click(Sender: TObject); begin Close; end; procedure TfrmTatClothWaitReleased.ToolButton8Click(Sender: TObject); begin WriteCxGrid('订单选择11', Tv2, '成品仓库'); end; procedure TfrmTatClothWaitReleased.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; procedure TfrmTatClothWaitReleased.N1Click(Sender: TObject); begin SelOKNo(CDS_OrderSel, True); end; procedure TfrmTatClothWaitReleased.N2Click(Sender: TObject); begin SelOKNo(CDS_OrderSel, False); end; end.