unit U_Bpkclist; 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; type TfrmBpkclist = 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; v1P_MF: TcxGridDBColumn; v1P_KZ: TcxGridDBColumn; v1RollNum: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1CRType: TcxGridDBColumn; v1CRTime: TcxGridDBColumn; Label2: TLabel; Label3: TLabel; Label4: TLabel; P_CodeName: TEdit; P_spec: TEdit; CRType: TComboBox; Label5: TLabel; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; TOk: TToolButton; v1Ssel: TcxGridDBColumn; CheckBox1: TCheckBox; v1MJID: TcxGridDBColumn; v1MJXH: TcxGridDBColumn; v1CPType: TcxGridDBColumn; ckName: TComboBox; Label6: TLabel; v1Column1: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure P_CodeNameChange(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 frmBpkclist: TfrmBpkclist; implementation uses U_DataLink,U_Fun10,U_ZDYHelp, U_BpRk; {$R *.dfm} procedure TfrmBpkclist.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 TfrmBpkclist.InitGrid(); begin try with adoqueryTmp do begin close; sql.Clear; 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 TfrmBpkclist.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption,Tv1,'²¼Æ¥²Ö¿â'); if fType=10 then Action:=cahide else Action:=cafree; end; procedure TfrmBpkclist.FormDestroy(Sender: TObject); begin frmBpkclist:=nil; end; procedure TfrmBpkclist.P_CodeNameChange(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 TfrmBpkclist.FormShow(Sender: TObject); begin if fType=10 then begin TOk.Visible:=true; v1Ssel.Visible:=true; end; readCxGrid(self.Caption,Tv1,'²¼Æ¥²Ö¿â'); SetComboBox(); InitGrid(); end; procedure TfrmBpkclist.FormCreate(Sender: TObject); begin BegDate.Date:=DServerDate-7; EndDate.Date:=DServerDate; cxGrid1.Align:=alclient; end; procedure TfrmBpkclist.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmBpkclist.TBRafreshClick(Sender: TObject); begin initGrid(); end; procedure TfrmBpkclist.TBPrintClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid1); end; procedure TfrmBpkclist.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid1); end; procedure TfrmBpkclist.TOkClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; ModalResult:=1; end; end.