unit U_PbSelCK; 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; type TfrmPbSelCK = class(TForm) Panel1: TPanel; Label2: TLabel; conNo: TEdit; Label3: TLabel; PRTColor: TEdit; CDS_OrderSel: TClientDataSet; DataSource1: TDataSource; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; Button1: TButton; Button2: TButton; Button3: TButton; cxGridPopupMenu1: TcxGridPopupMenu; Label8: TLabel; CustomerNoName: TEdit; cxGrid1: TcxGrid; Tv2: TcxGridDBTableView; v2Column3: TcxGridDBColumn; v1OrderNo: TcxGridDBColumn; v2Column2: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column14: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; v1PRTMF: TcxGridDBColumn; v1PRTKZ: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyleRepository2: TcxStyleRepository; cxStyle2: TcxStyle; cxStyleRepository3: TcxStyleRepository; cxStyle3: TcxStyle; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button2Click(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button3Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure Button1Click(Sender: TObject); procedure conNoChange(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private { Private declarations } procedure InitGrid(); public { Public declarations } end; var frmPbSelCK: TfrmPbSelCK; implementation uses U_DataLink,U_Fun ; {$R *.dfm} procedure TfrmPbSelCK.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmPbSelCK.Button2Click(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('factoryNo').AsString); end else begin if Trim(fieldbyname('factoryNo').AsString)<>KHName then begin Application.MessageBox('不能选择不同坯布厂!','提示',0); Exit; end; end; end; Next; end; end; CDS_OrderSel.EnableControls; ModalResult:=1; end; procedure TfrmPbSelCK.FormDestroy(Sender: TObject); begin frmPbSelCK:=nil; end; procedure TfrmPbSelCK.Button3Click(Sender: TObject); begin ModalResult:=-1; WriteCxGrid('订单选择',Tv2,'成品仓库'); Close; end; procedure TfrmPbSelCK.FormShow(Sender: TObject); begin ReadCxGrid('订单选择',Tv2,'成品仓库'); InitGrid(); end; procedure TfrmPbSelCK.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.ConNo,A.factoryNOName,A.factoryNO,B.C_CodeName,A.MainId,B.SubId,B.C_Color,B.C_Unit,B.C_Qty'); // sql.Add(',A.MPRTMF,A.MPRTKZ'); sql.Add(',ZPPS=(select Count(*) from CK_BancP_KC WY '); sql.Add(' where WY.SubId=B.SubId and isnull(WY.MJStr2,'''')<>''已入库'' and WY.MJType=''正品'') '); sql.Add(',ZPQty=(select sum(MJLen) from CK_BancP_KC WY '); sql.Add(' where WY.SubId=B.SubId and isnull(WY.MJStr2,'''')<>''已入库'' and WY.MJType=''正品'') '); sql.Add(',CPPS=(select Count(*) from CK_BancP_KC WY '); sql.Add(' where WY.SubId=B.SubId and isnull(WY.MJStr2,'''')<>''已入库'' and WY.MJType=''次品'') '); sql.Add(',CPQty=(select sum(MJLen) from CK_BancP_KC WY '); sql.Add(' where WY.SubId=B.SubId and isnull(WY.MJStr2,'''')<>''已入库'' and WY.MJType=''次品'') '); sql.Add(',LYPS=(select Count(*) from CK_BancP_KC WY '); sql.Add(' where WY.SubId=B.SubId and isnull(WY.MJStr2,'''')<>''已入库'' and WY.MJType=''留样'') '); sql.Add(',LYQty=(select sum(MJLen) from CK_BancP_KC WY '); sql.Add(' where WY.SubId=B.SubId and isnull(WY.MJStr2,'''')<>''已入库'' and WY.MJType=''留样'') '); sql.Add(' from Contract_Main A inner join Contract_sub B on A.MainId=B.Mainid'); sql.Add(' where exists(select * from WFB_MJJY AA '); sql.Add(' where AA.MainId=A.MainId and AA.SubId=B.SubId and isnull(AA.MJStr2,'''')<>''已入库'' )'); Open; end; SCreateCDS20(ADOQueryMain,CDS_OrderSel); SInitCDSData20(ADOQueryMain,CDS_OrderSel); finally ADOQueryMain.EnableControls; end; end; procedure TfrmPbSelCK.Button1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmPbSelCK.conNoChange(Sender: TObject); begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_OrderSel); SInitCDSData20(ADOQueryMain,CDS_OrderSel); end; procedure TfrmPbSelCK.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult:=1; end; end.