unit U_BpJGlist; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox, cxCurrencyEdit; type TfrmBpJGlist = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Panel1: TPanel; Label1: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1P_CodeName: TcxGridDBColumn; v1P_SPEC: TcxGridDBColumn; v1RollNum: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Label2: TLabel; Label3: TLabel; Label4: TLabel; cust: TEdit; P_spec: TEdit; CRType: TComboBox; Label5: TLabel; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; TOk: TToolButton; CheckBox1: TCheckBox; ckName: TComboBox; Label6: TLabel; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; Edit1: TEdit; Label7: TLabel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure custChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBPrintClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TOkClick(Sender: TObject); private procedure InitGrid(); procedure SetComboBox(); { Private declarations } public fType:integer; fCKName:string; { Public declarations } end; var frmBpJGlist: TfrmBpJGlist; implementation uses U_DataLink,U_Fun10,U_ZDYHelp, U_BpRk; {$R *.dfm} procedure TfrmBpJGlist.SetComboBox(); begin ckName.Items.Clear; with adoQueryTmp do begin close; sql.Clear; sql.Add('select * from KH_ZDY where Type=''BPCK'' '); if trim(fCKName)<>'' then sql.Add('and zdyName='+quotedstr(trim(fCKName))); open; while not eof do begin ckName.Items.Add(trim(fieldbyname('zdyName').AsString)); next; end; end; if ckName.Items.Count>0 then ckName.ItemIndex:=0; CRType.Items.Clear; CRType.Items.Add(''); with adoQueryTmp do begin close; sql.Clear; sql.Add('select * from KH_ZDY where Type=''BPRKTYPE'''); if trim(fCKName)<>'' then sql.Add('and note='+quotedstr(trim(fCKName))); open; while not eof do begin CRType.Items.Add(trim(fieldbyname('zdyName').AsString)); next; end; end; if CRType.Items.Count>0 then CRType.ItemIndex:=0; end; procedure TfrmBpJGlist.InitGrid(); begin try with adoqueryTmp do begin close; sql.Clear; sql.Add('exec P_Qty_JGSH'); sql.add('@begdate='''+formatdateTime('yyyy-MM-dd',begdate.Date)+''''); sql.add(',@enddate='''+formatdateTime('yyyy-MM-dd',enddate.Date+1)+''''); { sql.Add('select * from BP_KC A'); sql.Add('where 1=1'); if begdate.Checked then sql.Add('and CRTime>='''+formatdateTime('yyyy-MM-dd',begdate.Date)+''' '); if enddate.Checked then sql.Add('and CRTime<'''+formatdateTime('yyyy-MM-dd',enddate.Date+1)+''' '); if not CheckBox1.Checked then sql.Add('and (RollNum<>0 or qty<>0 ) '); if trim(FckName)<>'' then sql.Add('and ckName='+quotedstr(trim(FckName)) ); } open; end; SCreateCDS20(adoqueryTmp,CDS_Main); SInitCDSData20(adoqueryTmp,CDS_Main); finally end; end; procedure TfrmBpJGlist.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption,Tv1,'²¼Æ¥²Ö¿â'); if fType=10 then Action:=cahide else Action:=cafree; end; procedure TfrmBpJGlist.FormDestroy(Sender: TObject); begin frmBpJGlist:=nil; end; procedure TfrmBpJGlist.custChange(Sender: TObject); begin if ADOQueryTmp.Active=False then Exit; SDofilter(ADOQueryTmp,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryTmp,CDS_Main); SInitCDSData20(ADOQueryTmp,CDS_Main); end; procedure TfrmBpJGlist.FormShow(Sender: TObject); begin if fType=10 then begin TOk.Visible:=true; end; readCxGrid(self.Caption,Tv1,'²¼Æ¥²Ö¿â'); SetComboBox(); InitGrid(); end; procedure TfrmBpJGlist.FormCreate(Sender: TObject); begin BegDate.Date:=DServerDate-7; EndDate.Date:=DServerDate; cxGrid1.Align:=alclient; end; procedure TfrmBpJGlist.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmBpJGlist.TBRafreshClick(Sender: TObject); begin initGrid(); end; procedure TfrmBpJGlist.TBPrintClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid1); end; procedure TfrmBpJGlist.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid1); end; procedure TfrmBpJGlist.TOkClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; ModalResult:=1; end; end.