unit U_YarnStkHZSel; 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, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseHelp, System.ImageList, Vcl.ImgList, dxScrollbarAnnotations; type TfrmYarnStkHZSel = class(TfrmBaseHelp) 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; Label2: TLabel; Y_Name: TEdit; FromCoName: TEdit; Y_Spec: TEdit; BatchNo: TEdit; ToolButton2: TToolButton; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column14: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column6: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; v1Column3: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; 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 FromCoNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton2Click(Sender: TObject); procedure Tv1DblClick(Sender: TObject); private procedure InitGrid(); { Private declarations } public FstkName: string; { Public declarations } end; var frmYarnStkHZSel: TfrmYarnStkHZSel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmYarnStkHZSel.FormDestroy(Sender: TObject); begin inherited; frmYarnStkHZSel := nil; end; procedure TfrmYarnStkHZSel.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmYarnStkHZSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select FromCoName,StkCoName,Brand,Y_Name,stkqty=sum(ioqtyflag*qty),Price,QtyUnit,StkPosition'); sql.Add(' from BS_Yarn_IO A where'); sql.Add(' isnull(stkName,'''')=''' + Trim(FstkName) + ''''); sql.Add('GROUP BY FromCoName,StkCoName,Brand,Y_Name,Price,QtyUnit,StkPosition'); SQL.Add('HAVING sum(ioqtyflag*qty)>0'); sql.Add('order by StkCoName,Brand,Y_Name'); Open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmYarnStkHZSel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmYarnStkHZSel.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmYarnStkHZSel.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmYarnStkHZSel.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(self.Caption), Tv1, '�����ϲֿ�'); InitGrid(); end; procedure TfrmYarnStkHZSel.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); end; end; procedure TfrmYarnStkHZSel.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmYarnStkHZSel.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmYarnStkHZSel.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmYarnStkHZSel.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmYarnStkHZSel.FromCoNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmYarnStkHZSel.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 TfrmYarnStkHZSel.ToolButton2Click(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '�����ϲֿ�'); end; procedure TfrmYarnStkHZSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; procedure TfrmYarnStkHZSel.Tv1DblClick(Sender: TObject); begin ModalResult := 1; end; end.