unit U_CWFYList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit, cxTextEdit, cxDropDownEdit, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, U_BaseList; type TfrmCWFYList = class(TfrmBaseList) ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; Label1: TLabel; YFName: TEdit; ADOQueryMain: TADOQuery; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; KHNameHZ: TEdit; Label2: TLabel; Label6: TLabel; begdate: TDateTimePicker; Enddate: TDateTimePicker; cxGridPopupMenu2: TcxGridPopupMenu; DS_1: TDataSource; Label8: TLabel; HZFactoryName: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; VDate: TcxGridDBColumn; VFTYName: TcxGridDBColumn; VYFName: TcxGridDBColumn; VPayMent: TcxGridDBColumn; VYB: TcxGridDBColumn; VNote: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v2Column7: TcxGridDBColumn; Label5: TLabel; BankName: TEdit; Label7: TLabel; BankNo: TEdit; Label9: TLabel; ComTaiTou: TEdit; v2Column8: TcxGridDBColumn; v2Column9: TcxGridDBColumn; cxTabControl1: TcxTabControl; v2Column10: TcxGridDBColumn; v2Column14: TcxGridDBColumn; v2Column15: TcxGridDBColumn; CDS_1: TClientDataSet; ToolBar1: TToolBar; TBRafresh: TToolButton; ToolButton3: TToolButton; TBDel: TToolButton; ToolButton1: TToolButton; ToolButton2: TToolButton; TBClose: TToolButton; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure FormCreate(Sender: TObject); procedure VPayMentPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column9PropertiesEditValueChanged(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure TextEdit(Sender: TObject); procedure KHNameHZKeyPress(Sender: TObject; var Key: Char); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ButtonEdit(Sender: TObject; AButtonIndex: Integer); private { Private declarations } canshu1: string; FLeft, FTop: Integer; procedure InitGrid(); function SaveData(): Boolean; public { Public declarations } RKFlag, FCYID, FZKType: string; end; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_GYSSel, U_CKFKHXList, U_FKHx, U_BankListSel; {$R *.dfm} procedure TfrmCWFYList.InitGrid(); var WSql: string; begin WSql := SGetFilters(Panel1, 1, 2); if Trim(WSql) <> '' then WSql := ' and ' + WSql; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; Filtered := False; sql.Add(' select A.* from CW_Money_CR A'); sql.Add(' where A.CRType=''·ÑÓõǼÇ'' '); case cxTabControl1.TabIndex of 0: begin sql.Add(' and isnull(BZType,'''')=''$'' '); end; 1: begin sql.Add(' and isnull(BZType,'''')=''£¤'' '); end; 2: begin sql.Add(' and isnull(BZType,'''')=''€'' '); end; end; sql.Add(' and A.CRTime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and CRTime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); sql.Add(WSql); Open; end; SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCWFYList.KHNameHZKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmCWFYList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmCWFYList.TBCloseClick(Sender: TObject); begin WriteCxGrid('·ÑÓõǼÇDZ', TV1, '²ÆÎñ¹ÜÀí'); Close; end; procedure TfrmCWFYList.TBDelClick(Sender: TObject); var FBBMoney, CRID: string; begin if CDS_1.IsEmpty then Exit; if Trim(CDS_1.fieldbyname('FromDataID1').AsString) <> '' then begin Application.MessageBox('×Ô¶¯Éú³ÉµÄ£¬²»ÄÜɾ³ý!', 'Ìáʾ', 0); Exit; end; if Trim(CDS_1.fieldbyname('CWID').AsString) <> '' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' select * from CW_Money_CR'); sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); SQL.Add(' and status=''1'''); Open; end; if ADOQueryCmd.IsEmpty = False then begin Application.MessageBox('ÒÑÉóºËÊý¾Ý²»ÄÜɾ³ý!', 'Ìáʾ', 0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select * from CW_Bank_LS'); sql.Add(' where BLID=''' + Trim(CDS_1.fieldbyname('FromDataID1').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('ÒøÐÐÁ÷Ë®Êý¾Ý²»ÄÜɾ³ý!', 'Ìáʾ', 0); Exit; end; if Application.MessageBox('È·¶¨ÒªÉ¾³ýÊý¾ÝÂð£¿', 'Ìáʾ', 32 + 4) <> IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin close; sql.Clear; sql.Add(' insert into ZDel_CW_Money_CR '); sql.Add(' select * from CW_Money_CR where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); sql.Add(' Update ZDel_CW_Money_CR Set DelTime=getdate(),DelName=''' + Trim(DName) + ''',DelCode=''' + Trim(DCode) + ''''); sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); sql.Add(' delete CW_Money_CR where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); execsql; end; ADOQueryCmd.Connection.CommitTrans; CDS_1.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('ɾ³ýʧ°Ü!', 'Ìáʾ', 0); end; end; end; procedure TfrmCWFYList.FormShow(Sender: TObject); var fsj: string; begin inherited; ReadCxGrid('·ÑÓõǼÇDZ', TV1, '²ÆÎñ¹ÜÀí'); Enddate.DateTime := SGetServerDate(ADOQueryTemp); begdate.DateTime := Enddate.DateTime - 50; InitGrid(); end; procedure TfrmCWFYList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; function TfrmCWFYList.SaveData(): Boolean; var maxId, CRID: string; begin try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd, maxId, 'FK', 'CW_Money_CR', 4, 1) = False then begin Result := False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('È¡×î´óºÅʧ°Ü£¡', 'Ìáʾ', 0); Exit; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from CW_Money_CR where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CWID').Value := Trim(maxId); FieldByName('CRID').Value := '-99992'; FieldByName('Filler').Value := Trim(DName); FieldByName('Fillcode').Value := Trim(DCode); FieldByName('CRType').Value := '·ÑÓõǼÇ'; FieldByName('CRFlag').Value := '·ÑÓÃ'; FieldByName('QtyFlag').Value := -1; FieldByName('FactoryNo').Value := Trim(CDS_1.fieldbyname('FactoryNo').AsString); FieldByName('BZType').Value := Trim(CDS_1.fieldbyname('BZType').AsString); FieldByName('lzCWID').Value := Trim(CDS_1.fieldbyname('lzCWID').AsString); FieldByName('FactoryName').Value := Trim(CDS_1.fieldbyname('FactoryName').AsString); FieldByName('HZFactoryNo').Value := Trim(CDS_1.fieldbyname('HZFactoryNo').AsString); FieldByName('HZFactoryName').Value := Trim(CDS_1.fieldbyname('HZFactoryName').AsString); FieldByName('bankno').Value := Trim(CDS_1.fieldbyname('bankno').AsString); FieldByName('BankName').Value := Trim(CDS_1.fieldbyname('BankName').AsString); FieldByName('BankHangHao').Value := Trim(CDS_1.fieldbyname('BankHangHao').AsString); FieldByName('CRTime').Value := SGetServerDate(ADOQueryTemp); FieldByName('ZKType').Value := Trim(FZKType); Post; end; with CDS_1 do begin Edit; FieldByName('CWID').Value := Trim(maxId); end; ADOQueryCmd.Connection.CommitTrans; Result := True; except Result := True; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('ÔöÐÐʧ°Ü!', 'Ìáʾ', 0); end; end; procedure TfrmCWFYList.ToolButton1Click(Sender: TObject); begin if CDS_1.IsEmpty then exit; try with CDS_1 do begin DisableControls; First; while not Eof do begin if CDS_1.fieldbyname('SSel').AsBoolean then begin if Trim(CDS_1.fieldbyname('BankNo').AsString) = '' then begin CDS_1.EnableControls; Application.MessageBox('ÕË»§²»ÄÜΪ¿Õ£¬²»ÄܲÙ×÷!', 'Ìáʾ', 0); Exit; end; // if Trim(CDS_1.fieldbyname('TOBankNo').AsString) = '' then // begin // CDS_1.EnableControls; // Application.MessageBox('¶Ô·½ÕË»§²»ÄÜΪ¿Õ£¬²»ÄܲÙ×÷!', 'Ìáʾ', 0); // Exit; // end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' select * from CW_Money_CR'); sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); SQL.Add(' and status=''1'' '); Open; end; if ADOQueryCmd.IsEmpty = False then begin CDS_1.EnableControls; Application.MessageBox('ÒÑÉóºËÊý¾Ý£¬²»ÄܲÙ×÷!', 'Ìáʾ', 0); Exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.add('update CW_Money_CR set Chker=''' + trim(DName) + ''',Chktime=getdate(),status=''1'' '); sql.add('where CWID=''' + trim(CDS_1.fieldbyname('CWID').asstring) + ''' '); execsql; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add(' exec P_CWLS_IN_FY @DataID=' + quotedstr(trim(CDS_1.fieldbyname('CWID').AsString))); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryCmd.fieldbyname('ShowMsg').AsString), 'Ìáʾ', 0); exit; end; CDS_1.Edit; CDS_1.FieldByName('status').Value := '1'; CDS_1.FieldByName('Chker').Value := DName; CDS_1.Post; end; Next; end; EnableControls; end; application.MessageBox('ÉóºË³É¹¦', 'Ìáʾ'); except CDS_1.EnableControls; application.MessageBox('ÉóºËʧ°Ü', 'Ìáʾ'); end; end; procedure TfrmCWFYList.ToolButton2Click(Sender: TObject); begin if CDS_1.IsEmpty then exit; try with CDS_1 do begin DisableControls; First; while not Eof do begin if CDS_1.fieldbyname('SSel').AsBoolean then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' select * from CW_Money_CR'); sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); SQL.Add(' and Chker=' + QuotedStr(trim(DName))); Open; end; if ADOQueryCmd.IsEmpty then begin CDS_1.EnableControls; Application.MessageBox('²»Äܳ·Ïú²»ÊÇ×Ô¼ºÉóºËµÄÊý¾Ý£¬²»ÄܲÙ×÷!', 'Ìáʾ', 0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select * from CW_Bank_LS'); sql.Add(' where BLID=''' + Trim(CDS_1.fieldbyname('FromDataID1').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('ÒøÐÐÁ÷Ë®Êý¾Ý²»Äܳ·Ïú!', 'Ìáʾ', 0); Exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.add('update CW_Money_CR set Chker=null,Chktime=null,status=''0'' '); sql.add('where CWID=''' + trim(CDS_1.fieldbyname('CWID').asstring) + ''' '); execsql; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add(' delete CW_Bank_LS where isnull(FromCWID,'''')<>'''' and FromCWID=' + quotedstr(trim(CDS_1.fieldbyname('CWID').AsString))); execsql; end; CDS_1.Edit; CDS_1.FieldByName('status').Value := '0'; CDS_1.FieldByName('Chker').Value := ''; CDS_1.Post; end; Next; end; end; CDS_1.EnableControls; application.MessageBox('²Ù×÷³É¹¦', 'Ìáʾ'); except CDS_1.EnableControls; application.MessageBox('²Ù×÷ʧ°Ü', 'Ìáʾ'); end; end; procedure TfrmCWFYList.ToolButton3Click(Sender: TObject); var MFactoryNo, MFactoryName, MBZType, maxId: string; begin if GetLSNo(ADOQueryCmd, maxId, 'YS', 'CW_Money_CR', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('È¡×î´óºÅʧ°Ü£¡', 'Ìáʾ', 0); Exit; end; case cxTabControl1.TabIndex of 0: begin MBZType := '$'; end; 1: begin MBZType := '£¤'; end; 2: begin MBZType := '€'; end; end; try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'DFDW'; flagname := '¶Ô·½µ¥Î»'; if ShowModal = 1 then begin MFactoryNo := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); MFactoryName := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; if trim(MFactoryNo) = '' then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from CW_Money_CR where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CWID').Value := Trim(maxId); FieldByName('Filler').Value := Trim(DName); FieldByName('CRType').Value := '·ÑÓõǼÇ'; FieldByName('CRFlag').Value := '·ÑÓÃ'; FieldByName('QtyFlag').Value := -1; FieldByName('FactoryNo').Value := MFactoryNo; FieldByName('FactoryName').Value := MFactoryName; FieldByName('HZFactoryNo').Value := MFactoryNo; FieldByName('HZFactoryName').Value := MFactoryName; FieldByName('CRTime').Value := formatdateTIme('yyyy-MM-dd', SGetServerDate(ADOQueryTemp)); FieldByName('BZType').Value := MBZType; Post; end; with Self.CDS_1 do begin Append; FieldByName('CWID').Value := Trim(maxId); FieldByName('FactoryNo').Value := MFactoryNo; FieldByName('FactoryName').Value := MFactoryName; FieldByName('HZFactoryNo').Value := MFactoryNo; FieldByName('HZFactoryName').Value := MFactoryName; FieldByName('CRTime').Value := SGetServerDate(ADOQueryTemp); FieldByName('BZType').Value := MBZType; Post; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('ÔöÐÐʧ°Ü!', 'Ìáʾ', 0); end; end; procedure TfrmCWFYList.ButtonEdit(Sender: TObject; AButtonIndex: Integer); var FComTaiTou: string; begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'GSTTDZ'; flagname := '¹«Ë¾Ì§Í·'; if ShowModal = 1 then begin FComTaiTou := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; with Self.CDS_1 do begin Edit; FieldByName('ComTaiTou').Value := Trim(FComTaiTou); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ComTaiTou=' + quotedstr(Trim(FComTaiTou))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end; procedure TfrmCWFYList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select * from CW_Money_CR'); sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); SQL.Add(' and status=''1'' '); Open; end; if ADOQueryTemp.IsEmpty then begin TV1.OptionsData.Editing := true; end else begin TV1.OptionsData.Editing := false; end; // with ADOQueryTemp do // begin // Close; // sql.Clear; // sql.Add(' select * from CW_Bank_LS '); // sql.Add(' where BLID=''' + Trim(CDS_1.fieldbyname('FromDataID1').AsString) + ''''); // Open; // end; // if not ADOQueryTemp.IsEmpty then // begin // TV1.OptionsData.Editing := False; // end // else // begin // TV1.OptionsData.Editing := True; // end; end; procedure TfrmCWFYList.cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'FKYFName'; flagname := 'ÏîÄ¿¼°ÕªÒª'; if ShowModal = 1 then begin with Self.CDS_1 do begin Edit; FieldByName('YFCode').Value := Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('YFName').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCWFYList.FormCreate(Sender: TObject); begin inherited; canshu1 := Trim(DParameters1); end; procedure TfrmCWFYList.VPayMentPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'FKPayment'; flagname := 'Ö§¸¶·½Ê½'; if ShowModal = 1 then begin with Self.CDS_1 do begin Edit; FieldByName('PayMent').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCWFYList.TextEdit(Sender: TObject); var mvalue, FFieldName: string; FPS, FQty, FPrice, FBZFee, FMoney: Double; begin FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_1 do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; FPS := CDS_1.fieldbyname('PS').AsFloat; FQty := CDS_1.fieldbyname('Qty').AsFloat; FBZFee := CDS_1.fieldbyname('QTFee').AsFloat; FPrice := CDS_1.fieldbyname('Price').AsFloat; FMoney := CDS_1.fieldbyname('Money').AsFloat; end; if Trim(FFieldName) <> 'Money' then begin FMoney := FQty * FPrice + FBZFee; end; with CDS_1 do begin Edit; FieldByName('Money').Value := FMoney; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ' + FFieldName + '=' + Trim(mvalue)); if Trim(FFieldName) <> 'Money' then sql.Add(' ,Money=' + FloatToStr(FMoney)); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; Tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmCWFYList.v2Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'GSTTDZ'; flagname := '¹«Ë¾Ì§Í·'; if ShowModal = 1 then begin with Self.CDS_1 do begin Edit; FieldByName('ComTaiTou').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCWFYList.v2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var FBankName, FBankNo, FBKID, FComTaiTou: string; begin try frmBankListSel := TfrmBankListSel.Create(Application); with frmBankListSel do begin if ShowModal = 1 then begin FComTaiTou := Trim(CDS_HZ.fieldbyname('GSTaiTou').AsString); FBankName := Trim(CDS_HZ.fieldbyname('BankName').AsString); FBankNo := Trim(CDS_HZ.fieldbyname('BankNo').AsString); FBKID := Trim(CDS_HZ.fieldbyname('BKID').AsString); end; end; finally frmBankListSel.Free; end; with Self.CDS_1 do begin Edit; FieldByName('BankName').Value := FBankName; FieldByName('BankNo').Value := FBankNo; FieldByName('ComTaiTou').Value := FComTaiTou; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set BankName=' + quotedstr(Trim(FBankName))); sql.Add(',BankNo=' + quotedstr(Trim(FBankNo))); sql.Add(',BKID=' + quotedstr(Trim(FBKID))); sql.Add(',ComTaiTou=' + quotedstr(Trim(FComTaiTou))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end; procedure TfrmCWFYList.v2Column9PropertiesEditValueChanged(Sender: TObject); var mvalue, FName, RZMoney, BankFee: string; begin FName := TV1.Controller.FocusedColumn.DataBinding.FilterFieldName; mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_1 do begin Edit; FieldByName(FName).Value := mvalue; Post; end; if Trim(CDS_1.fieldbyname('RZMoney').AsString) = '' then RZMoney := '0' else RZMoney := CDS_1.fieldbyname('RZMoney').AsString; if Trim(CDS_1.fieldbyname('BankFee').AsString) = '' then BankFee := '0' else BankFee := CDS_1.fieldbyname('BankFee').AsString; with CDS_1 do begin Edit; FieldByName('Money').Value := StrToFloat(RZMoney) + StrToFloat(BankFee); Post; end; end; procedure TfrmCWFYList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; end.