unit U_TradeClothDefectiveList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, MovePanel, cxTextEdit, cxContainer, cxCurrencyEdit, BtnEdit, RM_e_main, RM_e_htm, RM_e_Graphic, RM_e_Jpeg, RM_e_txt, RM_e_csv, Math, Clipbrd, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, U_BaseList, dxDateTimeWheelPicker, RM_RichEdit, dxSkinBasic, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinOffice2016Colorful, dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine, dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark, dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint, dxSkinWXI, dxSkinXmas2008Blue, dxScrollbarAnnotations; type TfrmTradeClothDefectiveList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; GPM_1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DS_1: TDataSource; Label3: TLabel; OrderNo: TEdit; TBExport: TToolButton; Order_Main: TClientDataSet; BuyConNo: TEdit; Label7: TLabel; Label8: TLabel; Label10: TLabel; Label4: TLabel; Grade: TComboBox; Label5: TLabel; C_Name: TEdit; Label6: TLabel; CIIOFlag: TComboBox; Filler: TComboBox; btnEdit: TToolButton; TBZF: TToolButton; btnJBQ: TToolButton; RM1: TRMGridReport; RMDB_1: TRMDBDataSet; ADOQueryPrint: TADOQuery; MovePanel2: TMovePanel; C_Color: TEdit; IsJYTime: TCheckBox; lbl1: TLabel; BCIOID: TEdit; btnJYBG: TToolButton; Label16: TLabel; CIMachNo: TEdit; Label20: TLabel; C_Pattern: TEdit; Label23: TLabel; C_Code: TEdit; Label1: TLabel; FtyPCId: TEdit; ToolButton1: TToolButton; PM_1: TPopupMenu; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column22: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column32: TcxGridDBColumn; v1Column1: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column18: TcxGridDBColumn; v1Column23: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column27: TcxGridDBColumn; v1Column28: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column42: TcxGridDBColumn; v1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1MKXS: TcxGridDBColumn; v1Column34: TcxGridDBColumn; v1Column40: TcxGridDBColumn; v1Column46: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Panel6: TPanel; Label31: TLabel; LBCPAP: TLabel; BTLP: TButton; BTNP: TButton; TCBNOR: TComboBox; Tv1Column10: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; ToolButton2: TToolButton; RMRichObject1: TRMRichObject; RMRichObject2: TRMRichObject; Tv1Column9: TcxGridDBColumn; cxTabControl1: TcxTabControl; ToolButton3: TToolButton; ToolButton4: TToolButton; Tv1Column11: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure btnEditClick(Sender: TObject); procedure TBZFClick(Sender: TObject); procedure btnJBQClick(Sender: TObject); procedure OrderNoKeyPress(Sender: TObject; var Key: Char); procedure BTLPClick(Sender: TObject); procedure BTNPClick(Sender: TObject); procedure TCBNORChange(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure BuyConNoKeyPress(Sender: TObject; var Key: Char); procedure CIIOFlagChange(Sender: TObject); procedure GradeChange(Sender: TObject); procedure KHConNOKeyPress(Sender: TObject; var Key: Char); procedure RKOrdIDKeyPress(Sender: TObject; var Key: Char); procedure btnJYBGClick(Sender: TObject); procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); procedure cxPageControl1Change(Sender: TObject); procedure chkZFClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); private DQdate: TDateTime; FLeft, FTop: Integer; CurrentPage, RecordsNumber: Integer; procedure InitGrid(); function Savedata(): Boolean; procedure SetStatus(); procedure PrintCKMDG(MRKOrdID: string); { Private declarations } public FFInt: Integer; canshu1: string; { Public declarations } end; implementation uses U_DataLink, U_RTFun, U_TradeInspEdit, U_ZDYHelp, U_LabelPrint, U_ProcessTypeEdit; {$R *.dfm} procedure TfrmTradeClothDefectiveList.SetStatus(); begin // btnEdit.Enabled := False; // TBZF.Enabled := False; // btnHY.Enabled := False; // btnJBQ.Enabled := False; // btnJYBG.Enabled := False; // // btnEdit.Enabled := True; // TBZF.Enabled := True; // btnJBQ.Enabled := True; // btnJYBG.Enabled := True; end; procedure TfrmTradeClothDefectiveList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmTradeClothDefectiveList.FormCreate(Sender: TObject); begin inherited; cxgrid1.Align := alClient; DQdate := SGetServerDate(ADOQueryTemp); end; procedure TfrmTradeClothDefectiveList.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmTradeClothDefectiveList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmTradeClothDefectiveList.PrintCKMDG(MRKOrdID: string); begin end; procedure TfrmTradeClothDefectiveList.InitGrid(); var WSql: string; begin MovePanel2.Left := (self.Width - MovePanel2.Width) div 2; MovePanel2.Visible := True; MovePanel2.Refresh; WSql := SGetFilters(Panel1, 1, 2); if trim(WSql) <> '' then begin WSql := ' and ' + trim(WSql); end; case CxTabControl1.TabIndex of 0: begin ToolButton3.visible := True; ToolButton4.visible := False; WSql := WSql + 'and ISNULL(ProcessType,''未处理'')=''未处理'' '; end; 1: begin ToolButton4.visible := True; ToolButton3.visible := False; if IsJYTime.Checked then begin WSql := WSql + ' and Filltime>' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)); WSql := WSql + ' and Filltime<=' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)); end; WSql := WSql + ' and ISNULL(ProcessType,''未处理'') in (''损耗'',''索赔'') '; end; 2: begin ToolButton3.visible := False; ToolButton4.visible := False; WSql := WSql + ' and Filltime>' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)); WSql := WSql + ' and Filltime<=' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)); end; end; // if IsJYTime.Checked then // begin // WSql := WSql + ' and Filltime>' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)); // WSql := WSql + ' and Filltime<=' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)); // end // else // begin // if trim(WSql) <> '' then // WSql := ' and 1=1' + trim(WSql) // else // WSql := WSql + ' and 1=2 '; // end; // if trim(WSql) = 'and 1=2' then // Application.MessageBox('勾选检验日期或填入搜索条件', '提示', 0); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('exec P_Trade_Insp_Get_Page2 '); sql.Add('@pageIndex=' + inttostr(CurrentPage)); sql.Add(',@pageSize=' + inttostr(RecordsNumber)); sql.Add(',@criteria= ' + quotedstr(WSql)); // showmessage(SQL.text); Open; end; SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber)); MovePanel2.Visible := false; finally ADOQueryMain.EnableControls; MovePanel2.Visible := false; TV1.DataController.Filter.Clear; end; end; procedure TfrmTradeClothDefectiveList.TBRafreshClick(Sender: TObject); begin OrderNo.SetFocus; CurrentPage := 1; InitGrid(); end; procedure TfrmTradeClothDefectiveList.FormShow(Sender: TObject); begin inherited; canshu1 := self.fParameters1; CurrentPage := 1; RecordsNumber := 500; ReadCxGrid(Trim(self.Caption) + 'Tv1', Tv1, '贸易检验管理'); EndDate.DateTime := SGetServerDate(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime; // fsj := 'select distinct(Filler) name from Trade_Cloth_Inspect '; // SInitComBoxBySql(ADOQueryCmd, Filler, False, fsj); // Filler.ItemIndex := Filler.Items.IndexOf(trim(DName)); InitGrid(); SetStatus(); InitGrid(); end; procedure TfrmTradeClothDefectiveList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft := X; FTop := Y; end; procedure TfrmTradeClothDefectiveList.btnEditClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Trade_Cloth_IO where IOFlag=''入库'' and stkid=''' + Trim(Order_Main.fieldbyname('CIID').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Order_Main.EnableControls; Application.MessageBox('已产生入库数据不能编辑!', '提示', 0); Exit; end; try frmTradeInspEdit := TfrmTradeInspEdit.Create(Application); with frmTradeInspEdit do begin CIID.Text := Trim(Self.Order_Main.fieldbyname('CIID').AsString); if ShowModal = 1 then begin end; end; finally frmTradeInspEdit.Free; end; end; procedure TfrmTradeClothDefectiveList.TBZFClick(Sender: TObject); var MCIIDS: string; begin if Order_Main.Locate('ssel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if Application.MessageBox('确定要作废数据吗?作废后数据不能恢复。', '提示', 32 + 4) <> IDYES then Exit; Order_Main.DisableControls; with Order_Main do begin First; while not Eof do begin if Order_Main.FieldByName('SSel').AsBoolean = True then begin MCIIDS := MCIIDS + Trim(Order_Main.fieldbyname('CIID').AsString) + ','; Order_Main.Delete; end else Next; end; end; Order_Main.EnableControls; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into Trade_Need_Up(UOperation,UType,UDataId) values(''检验'',''检验删除'',' + quotedstr(MCIIDS) + ') '); ExecSQL; end; with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_Trade_Insp_Del '); Sql.Add('@CIIDS=' + quotedstr(Trim(MCIIDS))); Sql.Add(',@DCode=' + Quotedstr(DCode)); Sql.Add(',@DName=' + Quotedstr(DName)); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); end; ADOQueryCmd.Connection.CommitTrans; CurrentPage := 1; InitGrid(); application.MessageBox('删除成功!', '提示信息'); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); end; end; procedure TfrmTradeClothDefectiveList.btnJBQClick(Sender: TObject); var fPrintFile, FLabVolume: string; begin if Order_Main.IsEmpty then Exit; if Order_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; Order_Main.DisableControls; with Order_Main do begin First; while not Eof do begin if Order_Main.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update Trade_Cloth_Inspect Set PrtCount=PrtCount+1,PrtDate=getdate(),Prter=''' + Trim(DName) + ''''); sql.Add(' where CIID=''' + Trim(Order_Main.fieldbyname('CIID').AsString) + ''''); ExecSQL; end; with ADOQueryPrint do begin Close; SQL.Clear; sql.Add(' EXEC P_Trade_Insp_Prt_Lab '); SQL.Add(' @CIID=''' + Trim(Order_Main.fieldbyname('CIID').AsString) + ''''); Open; end; if ADOQueryPrint.IsEmpty then begin application.MessageBox('标签内容未找到!', '提示信息', MB_ICONERROR); exit; end; if Trim(ADOQueryPrint.fieldbyname('Grade').AsString) = '正品' then FLabVolume := Trim(ADOQueryPrint.fieldbyname('LabVolume').AsString) else FLabVolume := '次品标签'; ExportFtErpFile(FLabVolume + '.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + FLabVolume + '.rmf'; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); // if Trim(ADOQueryPrint.fieldbyname('LabVolume').AsString) <> '次品标签' then // Rm1.DefaultCopies := 2 // else Rm1.DefaultCopies := 1; RM1.PrintReport; end else begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); end; end; Next; end; end; Order_Main.EnableControls; end; function TfrmTradeClothDefectiveList.Savedata(): Boolean; var maxno, LLID: string; HXPS: Integer; HXQty, HXMQty: Double; begin HXPS := 0; HXQty := 0; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select Top 1 * from Contract_Cloth_LL where OrdSubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + ''''); sql.Add(' and FirstName=''' + Trim(Order_Main.fieldbyname('AOrddefstr4').AsString) + ''''); Open; end; LLID := Trim(ADOQueryTemp.fieldbyname('LLID').AsString); if Trim(LLID) = '' then begin Result := False; Application.MessageBox('没有相对应的加工厂!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd, maxno, 'HX', 'Contract_Cloth_BefChkHX', 2, 1) = False then begin Result := False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取回修最大号失败!', '提示', 0); Exit; end; with Order_Main do begin First; while not Eof do begin if Order_Main.FieldByName('SSel').AsBoolean = True then begin HXPS := HXPS + 1; HXQty := HXQty + Order_Main.FieldByName('MJLen').Value; end; Next; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(''); Open; end; except end; end; procedure TfrmTradeClothDefectiveList.OrderNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmTradeClothDefectiveList.BTLPClick(Sender: TObject); begin if CurrentPage > 1 then CurrentPage := CurrentPage - 1; InitGrid(); end; procedure TfrmTradeClothDefectiveList.BTNPClick(Sender: TObject); begin if CurrentPage < Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then CurrentPage := CurrentPage + 1; InitGrid(); end; procedure TfrmTradeClothDefectiveList.TCBNORChange(Sender: TObject); begin RecordsNumber := StrToInt(TCBNOR.Text); CurrentPage := 1; InitGrid(); end; procedure TfrmTradeClothDefectiveList.ToolButton1Click(Sender: TObject); begin WriteCxGrid(Trim(self.Caption) + 'Tv1', Tv1, '贸易检验管理'); end; procedure TfrmTradeClothDefectiveList.ToolButton2Click(Sender: TObject); var MStrsql, MStrIn: string; begin if Order_Main.IsEmpty then Exit; if Order_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据', '提示', 0); Exit; end; if Application.MessageBox('确定要修改数据吗?', '提示', 32 + 4) <> IDYES then Exit; MovePanel2.Visible := True; MovePanel2.Refresh; try Order_Main.DisableControls; with Order_Main do begin MStrsql := ''; First; while not Eof do begin if Order_Main.FieldByName('SSel').AsBoolean then begin if MStrsql = '' then MStrsql := Quotedstr(trim(Order_Main.FieldByName('CIID').AsString)) else MStrsql := MStrsql + ',' + Quotedstr(trim(Order_Main.FieldByName('CIID').AsString)); end; Next; end; end; Order_Main.EnableControls; MovePanel2.Visible := False; except MovePanel2.Visible := False; Order_Main.EnableControls; end; if InputQuery('批号', '请输入', MStrIn) then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update Trade_Cloth_Inspect Set BatchNO=' + QuotedStr(MStrIn)); sql.Add(' where CIID in (' + MStrsql + ')'); sql.Add('Update Trade_Cloth_Stock Set BatchNO=' + QuotedStr(MStrIn)); sql.Add(' where CIID in (' + MStrsql + ')'); ExecSQL; end; end; InitGrid(); end; procedure TfrmTradeClothDefectiveList.ToolButton3Click(Sender: TObject); var MFFIDS: string; begin if Order_Main.IsEmpty then exit; if not Order_Main.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; // MFFIDS := ''; with Order_Main do begin DisableControls; while Order_Main.Locate('SSel', True, []) do begin MFFIDS := MFFIDS + ',' + Trim(Order_Main.fieldbyname('CIID').AsString); Order_Main.Delete; end; EnableControls; end; try frmProcessEdit := TfrmProcessEdit.Create(Application); with frmProcessEdit do begin FFFIDS := MFFIDS; if ShowModal = 1 then begin InitGrid(); end; end; finally frmProcessEdit.Free; end; end; procedure TfrmTradeClothDefectiveList.ToolButton4Click(Sender: TObject); var MStrsql: string; begin if Order_Main.IsEmpty then Exit; if Order_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据', '提示', 0); Exit; end; if Application.MessageBox('确定要撤销处理次品信息吗?', '提示', 32 + 4) <> IDYES then Exit; MovePanel2.Visible := True; MovePanel2.Refresh; try Order_Main.DisableControls; with Order_Main do begin MStrsql := ''; First; while not Eof do begin if Order_Main.FieldByName('SSel').AsBoolean then begin if MStrsql = '' then MStrsql := Quotedstr(trim(Order_Main.FieldByName('CIID').AsString)) else MStrsql := MStrsql + ',' + Quotedstr(trim(Order_Main.FieldByName('CIID').AsString)); end; Next; end; end; Order_Main.EnableControls; MovePanel2.Visible := False; except MovePanel2.Visible := False; Order_Main.EnableControls; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update Trade_Cloth_Inspect Set ProcessType=''未处理'' '); sql.Add(' where CIID in (' + MStrsql + ')'); ExecSQL; end; InitGrid(); end; procedure TfrmTradeClothDefectiveList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; procedure TfrmTradeClothDefectiveList.chkZFClick(Sender: TObject); begin inherited; CurrentPage := 1; SetStatus(); InitGrid(); end; procedure TfrmTradeClothDefectiveList.BuyConNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmTradeClothDefectiveList.cxPageControl1Change(Sender: TObject); begin CurrentPage := 1; SetStatus(); InitGrid(); end; procedure TfrmTradeClothDefectiveList.cxTabControl1Change(Sender: TObject); begin TBRafresh.click; end; procedure TfrmTradeClothDefectiveList.CIIOFlagChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmTradeClothDefectiveList.GradeChange(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmTradeClothDefectiveList.KHConNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmTradeClothDefectiveList.N2Click(Sender: TObject); begin SelOKNoFiler(Tv1, True); //全选 end; procedure TfrmTradeClothDefectiveList.N3Click(Sender: TObject); begin SelOKNoFiler(Tv1, False); //全弃 end; procedure TfrmTradeClothDefectiveList.N4Click(Sender: TObject); begin Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; procedure TfrmTradeClothDefectiveList.RKOrdIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmTradeClothDefectiveList.btnJYBGClick(Sender: TObject); var WSql: string; begin if Order_Main.IsEmpty then Exit; WSql := ''; Order_Main.DisableControls; with Order_Main do begin First; while not Eof do begin if Order_Main.fieldbyname('SSel').AsBoolean then begin if WSql <> '' then begin WSql := WSql + ',' + Trim(Order_Main.fieldbyname('CIID').AsString); end else begin WSql := Trim(Order_Main.fieldbyname('CIID').AsString); end; end; Next; end; end; Order_Main.Locate('SSel', True, []); Order_Main.EnableControls; try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FLMType := 'TradeInsp'; FFiltration1 := WSql; if ShowModal = 1 then begin // Self.InitGrid(); end; end; finally frmLabelPrint.Free; end; if Order_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据', '提示', 0); Exit; end; end; procedure TfrmTradeClothDefectiveList.Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); var FValue: string; FBounds: TRect; begin FBounds := AViewInfo.Bounds; if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then begin ACanvas.FillRect(FBounds); ACanvas.DrawComplexFrame(FBounds, clBlack, clBlack, [bBottom, bLeft, bRight], 1); FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1); InflateRect(FBounds, -3, -2); //Platform specific. May not work on Linux. ACanvas.Font.Color := clBlack; ACanvas.Brush.Style := bsClear; ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop); ADone := True; end; end; end.