unit U_PBCKKCList; 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, cxCurrencyEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, MovePanel, BtnEdit; type TfrmPBCKKCList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; RMXLSExport1: TRMXLSExport; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton1: TToolButton; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label12: TLabel; Label7: TLabel; pihao: TEdit; SPID: TEdit; CRType: TComboBox; LZOrderNo: TEdit; Label1: TLabel; v1Column16: TcxGridDBColumn; ToolButton2: TToolButton; Label14: TLabel; SPCode: TEdit; v1Column17: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1Column21: TcxGridDBColumn; ToolButton3: TToolButton; PopupMenu2: TPopupMenu; MenuItem1: TMenuItem; MenuItem2: TMenuItem; ADOQueryPrint: TADOQuery; CDS_Print: TClientDataSet; Tv1Column1: TcxGridDBColumn; ToolButton4: TToolButton; Tv1Column2: TcxGridDBColumn; Label2: TLabel; kuwei: TEdit; MovePanel1: TMovePanel; Label8: TLabel; Label13: TLabel; Label6: TLabel; Label9: TLabel; Label10: TLabel; Button1: TButton; Button2: TButton; BH: TEdit; YS: TEdit; Button3: TButton; PH: TEdit; Button4: TButton; GH: TEdit; Button5: TButton; KW: TEdit; Button6: TButton; Label11: TLabel; Label15: TLabel; PS: TEdit; Button7: TButton; SL: TEdit; Button8: TButton; FactoryName: TBtnEditA; ToFactoryName: TBtnEditA; Tv1Column3: TcxGridDBColumn; Label16: TLabel; Label17: TLabel; YWZB: TEdit; GCS: TEdit; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Label18: TLabel; Label19: TLabel; Edit1: TEdit; Button9: TButton; Edit2: TEdit; Button10: TButton; Label20: TLabel; Note: TEdit; 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 FactoryNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure SPIDKeyPress(Sender: TObject; var Key: Char); procedure CRTypeChange(Sender: TObject); procedure FactoryNameBtnClick(Sender: TObject); procedure ToFactoryNameBtnClick(Sender: TObject); procedure FactoryNameKeyPress(Sender: TObject; var Key: Char); procedure Button9Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure v1Column12PropertiesEditValueChanged(Sender: TObject); private procedure InitGrid(); { Private declarations } public { Public declarations } CANSHU1: string; end; var frmPBCKKCList: TfrmPBCKKCList; implementation uses U_DataLink, U_RTFun, U_SXCKInPut, U_ZdyAttachGYS; {$R *.dfm} procedure TfrmPBCKKCList.FormDestroy(Sender: TObject); begin frmPBCKKCList := nil; end; procedure TfrmPBCKKCList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmPBCKKCList.InitGrid(); var pwhere: string; begin if SGetFilters(Panel1, 1, 2) <> '' then pwhere := ' and ' + SGetFilters(Panel1, 1, 2); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; SQL.Add('SELECT * FROM ('); sql.Add(' select A.* '); SQL.Add(',HRNAME=ISNULL((SELECT TOP 1 ISNULL(COHRNAME,CONAME) FROM COMPANY B WHERE A.FactoryName=B.CONAME AND VALID=''Y'' and cotype=''供应商''),FACTORYNAME)'); sql.Add(',SPEName=(select Note from KH_ZDY X where X.Type=''PBName'' and X.ZDYName=A.SPName )'); sql.Add(' ,LZOrderNo=(select OrderNo from JYOrder_Main JM where JM.MainId=A.OrdMainIdRK )'); sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''坯布'' '); SQL.Add(' and A.CRFlag=''入库'' and MXKCQty<>0'); if FactoryName.Text <> '' then begin sql.Add('and FactoryName like ' + QuotedStr('%' + Trim(FactoryName.Text) + '%')); end; if toFactoryName.Text <> '' then begin sql.Add('and toFactoryName like ' + QuotedStr('%' + Trim(toFactoryName.Text) + '%')); end; SQL.Add(')AA WHERE 1=1'); sql.Add(pwhere); // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmPBCKKCList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmPBCKKCList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmPBCKKCList.TBCloseClick(Sender: TObject); begin WriteCxGrid('坯布库存列表', Tv1, '坯布仓库11'); Close; end; procedure TfrmPBCKKCList.FormShow(Sender: TObject); begin ReadCxGrid('坯布库存列表', Tv1, '坯布仓库11'); if CANSHU1 = '查询' then begin ToolButton4.Visible := False; v1Column14.Visible := False; v1Column14.hidden := true; Tv1Column3.Visible := False; Tv1Column3.hidden := true; v1Column16.Visible := False; v1Column16.hidden := true; v1Column11.Visible := False; v1Column11.hidden := true; Label1.Visible := False; Label4.Visible := False; Label5.Visible := False; Label12.Visible := False; spid.Visible := False; CRType.Visible := False; FactoryName.Visible := False; ToFactoryName.Visible := False; v1Column12.Options.Editing := False; end else begin v1Column14.Visible := true; v1Column14.hidden := false; Tv1Column3.Visible := true; Tv1Column3.hidden := false; v1Column16.Visible := true; v1Column16.hidden := False; v1Column11.Visible := true; v1Column11.hidden := False; v1Column12.Options.Editing := true; end; //InitGrid(); end; procedure TfrmPBCKKCList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); end; end; procedure TfrmPBCKKCList.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmPBCKKCList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmPBCKKCList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmPBCKKCList.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmPBCKKCList.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmPBCKKCList.ToolButton1Click(Sender: TObject); begin ModalResult := 1; end; procedure TfrmPBCKKCList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; procedure TfrmPBCKKCList.ToolButton2Click(Sender: TObject); begin if CDS_Main.IsEmpty then exit; TcxGridToExcel('坯布库存列表', cxGrid2); end; procedure TfrmPBCKKCList.ToolButton3Click(Sender: TObject); var fPrintFile: string; Porderno, LBName, SYRName: string; i, j: Integer; OrderKg: Double; begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据/Please choose!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete TBSubID where DName=''' + Trim(DCode) + ''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('SELECT * FROM TBSubID where 1=2 '); open; end; CDS_Main.DisableControls; try ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if Fieldbyname('Ssel').AsBoolean then begin ADOQueryCmd.append; ADOQueryCmd.fieldbyname('SubId').Value := Trim(CDS_Main.fieldbyname('SPID').AsString); ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode); ADOQueryCmd.post; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; end; CDS_Main.EnableControls; with ADOQueryPrint do begin Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',ZdyNameZ=(select top 1 ZdyNameZ from KH_Zdy_Attachment X where X.ZdyName=A.FactoryName and X.Type=''GYS'' )'); sql.Add(',ZdyNameZ1=(select top 1 ZdyNameZ from KH_Zdy_Attachment X where X.ZdyName=A.ToFactoryName and X.Type=''GYS'' )'); sql.Add(',SPEName=(select Note from KH_ZDY X where X.Type=''PBName'' and X.ZDYName=A.SPName )'); sql.Add(' ,OrderNo=(select OrderNo from JYOrder_Main JM where JM.MainId=A.OrdMainIdRK )'); sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''坯布'' '); SQL.Add(' and A.CRFlag=''入库'' and MXKCQty<>0'); sql.add(' and A.SPID in (SELECT distinct SubId FROM TBSubID where Dname=' + quotedstr(Trim(DCode)) + ')'); // ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryPrint, CDS_Print); SInitCDSData20(ADOQueryPrint, CDS_Print); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\坯布库存列表.rmf'; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); // RMVariables['SYRName']:=Trim(SYRName); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找Report\坯布库存列表.rmf'), '提示', 0); end; end; procedure TfrmPBCKKCList.Button1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if trim(BH.Text) = '' then begin Application.MessageBox('编号不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR Set SPCODE=''' + trim(BH.Text) + ''' '); sql.Add('where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmPBCKKCList.Button3Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if trim(ys.Text) = '' then begin Application.MessageBox('颜色不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR Set SPCOLOR=''' + trim(YS.Text) + ''' '); sql.Add('where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmPBCKKCList.Button4Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if trim(PH.Text) = '' then begin Application.MessageBox('坯号不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR Set PIHAO=''' + trim(PH.Text) + ''' '); sql.Add('where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmPBCKKCList.Button5Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if trim(gh.Text) = '' then begin Application.MessageBox('缸号不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR Set gangno=''' + trim(GH.Text) + ''' '); sql.Add('where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmPBCKKCList.Button6Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if trim(KW.Text) = '' then begin Application.MessageBox('库位不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR Set KUWEI=''' + trim(KW.Text) + ''' '); sql.Add('where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmPBCKKCList.ToolButton4Click(Sender: TObject); begin MovePanel1.Visible := TRUE; BH.Text := CDS_Main.fieldbyname('SPCODE').AsString; ys.Text := CDS_Main.fieldbyname('SPcolor').AsString; PH.Text := CDS_Main.fieldbyname('pihao').AsString; gh.Text := CDS_Main.fieldbyname('gangno').AsString; kw.Text := CDS_Main.fieldbyname('kuwei').AsString; PS.Text := CDS_Main.fieldbyname('mxkcpiqty').AsString; SL.Text := CDS_Main.fieldbyname('mxkcqty').AsString; edit1.Text := CDS_Main.fieldbyname('ywzb').AsString; edit2.Text := CDS_Main.fieldbyname('gcs').AsString; end; procedure TfrmPBCKKCList.Button2Click(Sender: TObject); begin MovePanel1.Visible := False; BH.Text := ''; YS.Text := ''; PH.Text := ''; GH.Text := ''; KW.Text := ''; PS.Text := ''; SL.Text := ''; end; procedure TfrmPBCKKCList.Button7Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if trim(PS.Text) = '' then begin Application.MessageBox('匹数不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR Set MXKCPIQTY=' + trim(ps.Text)); SQL.Add(',PIQTY=ISNULL((SELECT SUM(PIQTY) FROM CK_SXPB_CR B WHERE crflag=''出库'' and B.FZSPID= ' + QuotedStr((CDS_Main.fieldbyname('SPID').AsString))); SQL.Add('),0)+' + trim(ps.Text)); sql.Add('where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmPBCKKCList.Button8Click(Sender: TObject); var FReal: Double; begin if CDS_Main.IsEmpty then Exit; if trim(SL.Text) = '' then begin Application.MessageBox('数量不能为空!', '提示', 0); Exit; end; if TryStrToFloat(SL.Text, FReal) = False then begin Application.MessageBox('数量格式不正确!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR Set MXKCQTY=' + trim(SL.Text)); SQL.Add(',QTY=ISNULL((SELECT SUM(QTY) FROM CK_SXPB_CR B WHERE crflag=''出库'' and B.FZSPID= ' + QuotedStr((CDS_Main.fieldbyname('SPID').AsString))); SQL.Add('),0)+' + trim(SL.Text)); sql.Add('where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmPBCKKCList.SPIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmPBCKKCList.CRTypeChange(Sender: TObject); begin InitGrid(); end; procedure TfrmPBCKKCList.FactoryNameBtnClick(Sender: TObject); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal = 1 then begin FactoryName.text := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('coName').AsString); //Post; end; end; finally frmZdyAttachGYS.Free; end; if FactoryName.text <> '' then begin INITGRID(); end; end; procedure TfrmPBCKKCList.ToFactoryNameBtnClick(Sender: TObject); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal = 1 then begin toFactoryName.text := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('coName').AsString); //Post; end; end; finally frmZdyAttachGYS.Free; end; if toFactoryName.text <> '' then begin INITGRID(); end; end; procedure TfrmPBCKKCList.FactoryNameKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin initgrid(); end; end; procedure TfrmPBCKKCList.Button9Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if trim(edit1.Text) = '' then begin Application.MessageBox('下单组别不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR Set YWZB=''' + trim(edit1.Text) + ''' '); sql.Add('where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmPBCKKCList.Button10Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if trim(edit2.Text) = '' then begin Application.MessageBox('工程师不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR Set gcs=''' + trim(edit2.Text) + ''' '); sql.Add('where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmPBCKKCList.v1Column12PropertiesEditValueChanged(Sender: TObject); var mvalues, FFieldName: string; begin mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_Main do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; tv1.Controller.EditingController.ShowEdit(); // if trim(mvalues) <> '' then // begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_SXPB_CR '); SQL.Add(' Set ' + FFieldName + '=' + QuotedStr(mvalues)); sql.Add(' where SPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + ''''); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('修改坯布备注'))); sql.Add(',' + quotedstr(trim('单号:' + trim(CDS_Main.FieldByName('SPID').AsString) + ';现备注:' + trim(CDS_Main.FieldByName('NOTE').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; tv1.Controller.EditingController.ShowEdit(); end; end.