unit U_DyeClothWaitReleased; 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 TfrmDyeClothWaitReleased = 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; C_Color: TEdit; CDS_OrderSel: TClientDataSet; DataSource1: TDataSource; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; cxGridPopupMenu1: TcxGridPopupMenu; v2Column2: TcxGridDBColumn; Label8: TLabel; CustName: TEdit; v2Column3: TcxGridDBColumn; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; v2Column8: TcxGridDBColumn; Tv2Column1: TcxGridDBColumn; pcid: 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 frmDyeClothWaitReleased: TfrmDyeClothWaitReleased; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmDyeClothWaitReleased.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmDyeClothWaitReleased.FormDestroy(Sender: TObject); begin frmDyeClothWaitReleased := nil; end; procedure TfrmDyeClothWaitReleased.FormShow(Sender: TObject); begin ReadCxGrid('订单选择11', Tv2, '成品仓库'); InitGrid(); end; procedure TfrmDyeClothWaitReleased.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('select A.*'); sql.Add(',ZPPS=(select Count(KC.StkID) from Dye_Cloth_Stock KC where KC.PCID=A.PCID and KC.StkExists=1 ) '); sql.Add(',ZPKGQty=(select sum(StkGrossWeight) from Dye_Cloth_Stock KC where KC.PCID=A.PCID and KC.StkExists=1 ) '); sql.Add(',ZPQty=(select sum(StkMeter) from Dye_Cloth_Stock KC where KC.PCID=A.PCID and KC.StkExists=1 ) '); sql.Add(' from Dye_Plan_Card A '); sql.Add(' where exists(select KC.PCID from Dye_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 TfrmDyeClothWaitReleased.OrderNoChange(Sender: TObject); begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_OrderSel); SInitCDSData(ADOQueryMain, CDS_OrderSel); end; procedure TfrmDyeClothWaitReleased.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 TfrmDyeClothWaitReleased.ToolButton5Click(Sender: TObject); begin InitGrid(); end; procedure TfrmDyeClothWaitReleased.ToolButton7Click(Sender: TObject); begin Close; end; procedure TfrmDyeClothWaitReleased.ToolButton8Click(Sender: TObject); begin WriteCxGrid('订单选择11', Tv2, '成品仓库'); end; procedure TfrmDyeClothWaitReleased.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; procedure TfrmDyeClothWaitReleased.N1Click(Sender: TObject); begin SelOKNo(CDS_OrderSel, True); end; procedure TfrmDyeClothWaitReleased.N2Click(Sender: TObject); begin SelOKNo(CDS_OrderSel, False); end; end.