unit U_QBKcList; 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, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, MMSystem, Menus, BtnEdit, Clipbrd; type TfrmQBKcList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1P_CodeName: TcxGridDBColumn; v1P_SPEC: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1CRType: TcxGridDBColumn; v1CRTime: TcxGridDBColumn; Label3: TLabel; P_CodeName: TEdit; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; v1MJID: TcxGridDBColumn; v1MJXH: TcxGridDBColumn; v1Column1: TcxGridDBColumn; Label7: TLabel; P_Color: TEdit; Label8: TLabel; Label9: TLabel; kuwei: TEdit; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; orderNo: TEdit; Label10: TLabel; ADOQueryPrint: TADOQuery; RMDB_Main: TRMDBDataSet; RM1: TRMGridReport; v1Column8: TcxGridDBColumn; ADOQueryMain: TADOQuery; Label13: TLabel; MJID: TEdit; Label15: TLabel; v1Column9: TcxGridDBColumn; P_Code: TEdit; Label18: TLabel; v1Column16: TcxGridDBColumn; Label31: TLabel; FactoryName: TEdit; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; ToolButton2: TToolButton; v1Column2: TcxGridDBColumn; v1Column7: TcxGridDBColumn; Label1: TLabel; CKName: TEdit; N3: TMenuItem; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure P_CodeNameChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure N3Click(Sender: TObject); private procedure InitGrid(); procedure SetStatus(); { Private declarations } public fType: integer; fCKName: string; { Public declarations } end; var frmQBKcList: TfrmQBKcList; implementation uses U_DataLink, U_Fun10, U_ZDYHelp, U_MLRk; {$R *.dfm} procedure TfrmQBKcList.SetStatus(); begin end; procedure TfrmQBKcList.InitGrid(); begin try with adoqueryMain do begin close; sql.Clear; sql.Add(' select A.* '); SQL.Add(' from CK_ML_KC A '); sql.Add(' where A.Qty<>0 '); sql.ADD(' and exists(select * from CK_ML_CR X where X.Valid=''Y'' and X.CRFlag=''入库'' and X.MJID=A.MJID )'); sql.Add(' order by A.CRTime desc,A.CRNO desc'); open; end; SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); finally end; end; procedure TfrmQBKcList.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption + tv1.Name, Tv1, '面料仓库'); if fType = 10 then Action := cahide else Action := cafree; end; procedure TfrmQBKcList.FormDestroy(Sender: TObject); begin frmQBKcList := nil; end; procedure TfrmQBKcList.P_CodeNameChange(Sender: TObject); begin if adoqueryMain.Active = False then Exit; SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); end; procedure TfrmQBKcList.FormShow(Sender: TObject); begin readCxGrid(self.Caption + tv1.Name, Tv1, '面料仓库'); SetStatus(); InitGrid(); end; procedure TfrmQBKcList.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmQBKcList.TBRafreshClick(Sender: TObject); begin initGrid(); end; procedure TfrmQBKcList.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmQBKcList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('isph').index] = '1' then ACanvas.Brush.Color := clred; end; procedure TfrmQBKcList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, true); end; procedure TfrmQBKcList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, false); end; procedure TfrmQBKcList.ToolButton2Click(Sender: TObject); begin if adoqueryMain.Active = False then Exit; SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); end; procedure TfrmQBKcList.N3Click(Sender: TObject); begin Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; end.