unit U_JWLInChkSelList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, cxCalendar, cxButtonEdit, cxDropDownEdit, DBClient, Menus, cxSplitter, cxTextEdit, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, RM_e_Xls, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, cxCheckBox; type TfrmJWLInChkSelList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBDel: TToolButton; TBClose: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Panel1: TPanel; Label3: TLabel; Label4: TLabel; Label7: TLabel; YCLName: TEdit; YCLSpec: TEdit; GYSName: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column1: TcxGridDBColumn; v1DepotClass: TcxGridDBColumn; v1P_ChnName: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1ShortName: TcxGridDBColumn; v1Quantity: TcxGridDBColumn; v1UnitName: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; CDS_Main: TClientDataSet; v1KCMoney: TcxGridDBColumn; RMDB_Main: TRMDBDataSet; RM1: TRMGridReport; RMXLSExport1: TRMXLSExport; KCPlace: TEdit; Label6: TLabel; Label8: TLabel; CRType: TComboBox; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1JWLPrice: TcxGridDBColumn; v1Ssel: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure YCLNameChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBDelClick(Sender: TObject); private canshu1,canshu2:String; procedure InitGrid(); procedure InitForm(); { Private declarations } public { Public declarations } end; var frmJWLInChkSelList: TfrmJWLInChkSelList; implementation uses U_DataLink,U_RTFun,U_JWLChkIn; {$R *.dfm} procedure TfrmJWLInChkSelList.FormDestroy(Sender: TObject); begin frmJWLInChkSelList:=nil; end; procedure TfrmJWLInChkSelList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmJWLInChkSelList.FormCreate(Sender: TObject); begin cxgrid1.Align:=alClient; canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); end; procedure TfrmJWLInChkSelList.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('X入库列表Sel',Tv1,'原材料仓库'); end; procedure TfrmJWLInChkSelList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.* '); sql.Add(',KCMoney=isnull((select Sum(YCLMoney*JSFlag) from CK_YCLONE_CR B where B.RKID=A.MSID),0)'); sql.Add(',JWLPrice=cast(YCLMoney/CRQty as decimal(18,2))'); sql.Add(' from CK_YCLONE_CR A'); sql.Add(' where CKName='''+Trim(canshu1)+''''); SQL.Add(' and CRFlag=''入库'' '); sql.Add(' and KCQty<>0'); Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmJWLInChkSelList.InitForm(); begin ReadCxGrid('X入库列表Sel',Tv1,'原材料仓库'); InitGrid(); end; procedure TfrmJWLInChkSelList.TBFindClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; procedure TfrmJWLInChkSelList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmJWLInChkSelList.YCLNameChange(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; procedure TfrmJWLInChkSelList.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmJWLInChkSelList.TBDelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('Ssel',True,[])=false then begin application.MessageBox('没有选择数据','提示'); exit; end; ModalResult:=1; end; end.