unit U_ShaKCSelList; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmShaKCSelList = 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; CDS_HZ: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton1: TToolButton; Label3: TLabel; Label4: TLabel; Label8: TLabel; SPName: TEdit; FactoryName: TEdit; SPSpec: TEdit; Label2: TLabel; BatchNo: TEdit; Label11: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column19: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column14: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; CheckBox1: TCheckBox; Label1: TLabel; chejian: TEdit; Tv1Column1: TcxGridDBColumn; 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); procedure FormCreate(Sender: TObject); procedure SPNameKeyPress(Sender: TObject; var Key: Char); procedure CheckBox1Click(Sender: TObject); private procedure InitGrid(); { Private declarations } public { Public declarations } canshu1: string; end; var frmShaKCSelList: TfrmShaKCSelList; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmShaKCSelList.FormDestroy(Sender: TObject); begin frmShaKCSelList := nil; end; procedure TfrmShaKCSelList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmShaKCSelList.InitGrid(); var Pwhere: string; begin if SGetFilters(Panel1, 1, 2) <> '' then Pwhere := ' and ' + SGetFilters(Panel1, 1, 2); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select distinct FactoryName,SPName,SPSpec,BatchNo,CHEJIAN'); sql.Add(' from CK_SXPB_CR A where 1=1 '); if CheckBox1.Checked = True then begin sql.add(' AND A.CRTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + ''''); sql.Add(' and A.CRTime<''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + ''''); end; sql.Add(' and isnull(CKName,'''')=''纱线'''); SQL.Add(' and CRFlag=''入库'' and crtype<>''调整入库'' '); sql.Add(Pwhere); // sql.Add(' select A.* '); // sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''纱线'' '); // SQL.Add(' and A.CRFlag=''入库'' and MXKCQty>0 and ZFFlag=0 '); Open; //ShowMessage(SQL.Text); end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmShaKCSelList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmShaKCSelList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmShaKCSelList.TBCloseClick(Sender: TObject); begin WriteCxGrid('纱线库存选择1', Tv1, '纱线库存'); Close; end; procedure TfrmShaKCSelList.FormShow(Sender: TObject); begin InitGrid(); end; procedure TfrmShaKCSelList.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 TfrmShaKCSelList.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCSelList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmShaKCSelList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmShaKCSelList.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCSelList.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCSelList.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 TfrmShaKCSelList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; procedure TfrmShaKCSelList.FormCreate(Sender: TObject); begin ReadCxGrid('纱线库存选择1', Tv1, '纱线库存'); EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 30; end; procedure TfrmShaKCSelList.SPNameKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmShaKCSelList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; end.