unit U_DJBCKKCSelList2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit; type TfrmDJBCKKCSelList2 = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton1: TToolButton; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v2Column1: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; SPName: TEdit; v1Column15: TcxGridDBColumn; Label10: TLabel; SPColor: TEdit; v1Column20: TcxGridDBColumn; cv1Column1: TcxGridDBColumn; cv1Column3: TcxGridDBColumn; cv1Column2: TcxGridDBColumn; lbl1: TLabel; SPKZ: TEdit; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure MPRTCodeNameChange(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure SXBatchNOChange(Sender: TObject); procedure FactoryNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private procedure InitGrid(); { Private declarations } public { Public declarations } end; var frmDJBCKKCSelList2: TfrmDJBCKKCSelList2; implementation uses U_DataLink, U_RTFun, U_SXCKInPut; {$R *.dfm} procedure TfrmDJBCKKCSelList2.FormDestroy(Sender: TObject); begin frmDJBCKKCSelList2 := nil; end; procedure TfrmDJBCKKCSelList2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmDJBCKKCSelList2.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select a.spname,a.spcolor,factoryname,A.qtyunit,A.SPKZ,A.PHTIME '); sql.add(' ,kcQTY=Sum(case when crQtyFlag= 1 then Qty else -Qty end ) '); SQL.Add(',kcps=Sum(case when crQtyFlag= 1 then PiQty else -PiQty end )'); sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''成品布'' '); SQL.Add(' group by spname,spcolor,factoryname,qtyunit,SPKZ,PHTIME'); SQL.Add(' having Sum(case when crQtyFlag= 1 then PiQty else -PiQty end )>0 '); Open; //ShowMessage(SQL.Text); end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmDJBCKKCSelList2.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmDJBCKKCSelList2.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmDJBCKKCSelList2.TBCloseClick(Sender: TObject); begin WriteCxGrid('成品库存选择表', Tv1, '成品库存选择表'); Close; end; procedure TfrmDJBCKKCSelList2.FormShow(Sender: TObject); begin ReadCxGrid('成品库存选择表', Tv1, '成品库存选择表2'); InitGrid(); end; procedure TfrmDJBCKKCSelList2.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); end; end; procedure TfrmDJBCKKCSelList2.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDJBCKKCSelList2.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmDJBCKKCSelList2.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmDJBCKKCSelList2.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDJBCKKCSelList2.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDJBCKKCSelList2.ToolButton1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; ModalResult := 1; end; procedure TfrmDJBCKKCSelList2.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; end.