unit U_YEYarnWaitStorage; 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, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, Vcl.ToolWin; type TfrmYEYarnWaitStorage = class(TForm) Panel1: TPanel; Label2: TLabel; OrderNo: TEdit; Label3: TLabel; C_Color: TEdit; CDS_OrderSel: TClientDataSet; DataSource1: TDataSource; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; cxGridPopupMenu1: TcxGridPopupMenu; Label8: TLabel; CustName: TEdit; cxGrid1: TcxGrid; Tv2: TcxGridDBTableView; v2Column3: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column14: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; v1PRTMF: TcxGridDBColumn; v1PRTKZ: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; ToolBar3: TToolBar; ToolButton5: TToolButton; ToolButton1: TToolButton; ToolButton8: TToolButton; ToolButton7: TToolButton; Tv2Column1: TcxGridDBColumn; Tv2Column2: TcxGridDBColumn; Tv2Column3: TcxGridDBColumn; Tv2Column4: TcxGridDBColumn; Tv2Column5: TcxGridDBColumn; Tv2Column6: TcxGridDBColumn; Tv2Column7: TcxGridDBColumn; Tv2Column8: TcxGridDBColumn; Tv2Column9: 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 ToolButton5Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); private { Private declarations } procedure InitGrid(); public { Public declarations } end; var frmYEYarnWaitStorage: TfrmYEYarnWaitStorage; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmYEYarnWaitStorage.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmYEYarnWaitStorage.FormDestroy(Sender: TObject); begin frmYEYarnWaitStorage := nil; end; procedure TfrmYEYarnWaitStorage.FormShow(Sender: TObject); begin ReadCxGrid('订单选择1', Tv2, '成品仓库'); InitGrid(); end; procedure TfrmYEYarnWaitStorage.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 YE_Yarn_Stock KC where KC.StkCycles=0 AND KC.Mainid=A.Mainid and KC.StkExists=0 ) '); sql.Add(',ZPKGQty=(select sum(StkGrossWeight) from YE_Yarn_Stock KC where KC.StkCycles=0 AND KC.Mainid=A.Mainid and KC.StkExists=0 ) '); sql.Add(' from YE_Plan_Main A '); sql.Add(' where exists(select KC.Mainid from YE_Yarn_Stock KC where KC.StkCycles=0 AND KC.Mainid=A.Mainid and KC.StkExists=0)'); // ShowMessage(sql.Text); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_OrderSel); SInitCDSData(ADOQueryMain, CDS_OrderSel); finally ADOQueryMain.EnableControls; end; end; procedure TfrmYEYarnWaitStorage.OrderNoChange(Sender: TObject); begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_OrderSel); SInitCDSData(ADOQueryMain, CDS_OrderSel); end; procedure TfrmYEYarnWaitStorage.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 // Application.MessageBox('不能选择不同客户!', '提示', 0); // Exit; // end; // end; end; Next; end; end; CDS_OrderSel.EnableControls; ModalResult := 1; end; procedure TfrmYEYarnWaitStorage.ToolButton5Click(Sender: TObject); begin InitGrid(); end; procedure TfrmYEYarnWaitStorage.ToolButton7Click(Sender: TObject); begin Close; end; procedure TfrmYEYarnWaitStorage.ToolButton8Click(Sender: TObject); begin WriteCxGrid('订单选择1', Tv2, '成品仓库'); end; procedure TfrmYEYarnWaitStorage.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; end.