unit U_CWYSList; 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, cxPC, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, U_BaseList, Vcl.Menus; type TfrmCWYSList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBDel: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ADOQueryMain: TADOQuery; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; FactoryName: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v2CRTime: TcxGridDBColumn; v2Qty: TcxGridDBColumn; v2QtyUnit: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; begdate: TDateTimePicker; Enddate: TDateTimePicker; GPM_1: TcxGridPopupMenu; DS_1: TDataSource; CDS_1: TClientDataSet; ToolButton3: TToolButton; v2Column1: TcxGridDBColumn; VYB: TcxGridDBColumn; v2FactoryName: TcxGridDBColumn; v2CKNO: TcxGridDBColumn; v2Note: TcxGridDBColumn; v2P_CodeName: TcxGridDBColumn; v2ps: TcxGridDBColumn; v2P_Color: TcxGridDBColumn; P_CodeName: TEdit; Label4: TLabel; Label8: TLabel; P_Color: TEdit; v2P_Code: TcxGridDBColumn; CheckBox1: TCheckBox; Label6: TLabel; P_Code: TEdit; v2ConNo: TcxGridDBColumn; v2OrderNo: TcxGridDBColumn; v2Column14: TcxGridDBColumn; v2P_HX: TcxGridDBColumn; Label1: TLabel; P_HX: TEdit; cxTabControl1: TcxTabControl; Label10: TLabel; ConNo: TEdit; Label11: TLabel; OrderNo: TEdit; v2BZType: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column4: TcxGridDBColumn; ToolButton1: TToolButton; ToolButton2: TToolButton; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; VC_SSel: TcxGridDBColumn; PopupMenu1: TPopupMenu; N1: TMenuItem; Tv1Column7: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; ToolButton4: TToolButton; Tv1Column9: TcxGridDBColumn; Tv1Column10: TcxGridDBColumn; Tv1Column12: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; Label2: TLabel; guino: TEdit; Tv1Column11: TcxGridDBColumn; Tv1Column15: TcxGridDBColumn; Tv1Column16: 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 cxGridDBColumn5PropertiesEditValueChanged(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure cxGridDBColumn6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure FactoryNameKeyPress(Sender: TObject; var Key: Char); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure cxTabControl1Change(Sender: TObject); procedure v2Column3PropertiesEditValueChanged(Sender: TObject); procedure v2ConNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2OrderNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2FactoryNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure ButtonEdit(Sender: TObject; AButtonIndex: Integer); procedure ToolButton4Click(Sender: TObject); procedure Tv1Column10PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2CRTimeCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean); private { Private declarations } procedure InitGrid(); public fFlag: integer; { Public declarations } RKFlag, FCYID, fmanage, FZKType: string; end; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_KHSel, U_ProductOrderSel, U_ProductOrderListSel3, U_ZDYHelpSel; {$R *.dfm} procedure TfrmCWYSList.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.* '); sql.Add(' 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; if CheckBox1.Checked then begin sql.Add(' and A.CRTime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and CRTime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); end; sql.Add(WSql); SQL.Add('ORDER BY CRTime DESC ,GUINO,FactoryName'); Open; end; SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCWYSList.N1Click(Sender: TObject); var FValue, FFValue, FColumn, FFColumn, FCWID: string; begin FCWID := CDS_1.FieldByName('CWID').AsString; FColumn := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; FValue := Trim(CDS_1.fieldbyname(FColumn).AsString); if FColumn <> 'IVNo' then begin Application.MessageBox('ĿǰֻÄÜÌæ»»·¢Æ±ºÅ!', 'Ìáʾ', 0); Exit; end; with CDS_1 do begin DisableControls; First; while not Eof do begin if FieldByName('SSel').AsBoolean and (FieldByName('status').AsString = '0') then begin Edit; if FValue = '' then begin CDS_1.FieldByName(FColumn).Value := null; end else begin CDS_1.FieldByName(FColumn).Value := FValue; end; Post; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ' + FColumn + '=' + quotedstr(Trim(FValue))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end; Next; end; CDS_1.Locate('CWID', FCWID, []); EnableControls; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmCWYSList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmCWYSList.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(Self.Caption), Tv1, '²ÆÎñ¹ÜÀíÓ¦ÊÕ'); Close; end; procedure TfrmCWYSList.TBDelClick(Sender: TObject); begin if CDS_1.IsEmpty then Exit; 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; 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; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' exec P_DZ_IN_CPCK '); sql.Add(' @DataID=' + QuotedStr(Trim(CDS_1.fieldbyname('IVNO').AsString))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryCmd.fieldbyname('ShowMsg').AsString), 'Ìáʾ', 0); exit; end; CDS_1.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('ɾ³ýʧ°Ü!', 'Ìáʾ', 0); end; end; procedure TfrmCWYSList.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(Self.Caption), Tv1, '²ÆÎñ¹ÜÀíÓ¦ÊÕ'); Enddate.DateTime := SGetServerDate(ADOQueryTemp); begdate.DateTime := Enddate.DateTime; InitGrid(); end; procedure TfrmCWYSList.TBRafreshClick(Sender: TObject); begin begdate.SetFocus; InitGrid(); end; procedure TfrmCWYSList.cxGridDBColumn5PropertiesEditValueChanged(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; if Trim(FFieldName) <> 'Money' then begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ' + FFieldName + '=' + Trim(mvalue)); sql.Add(' ,Money=' + FloatToStr(FMoney)); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end else begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ' + FFieldName + '=' + Trim(mvalue)); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end; Tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmCWYSList.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 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_DZ_IN_CPCK '); sql.Add(' @DataID=' + QuotedStr(Trim(CDS_1.fieldbyname('IVNO').AsString))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin CDS_1.EnableControls; 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 TfrmCWYSList.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 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(' exec P_DZ_IN_CPCK '); sql.Add(' @DataID=' + QuotedStr(Trim(CDS_1.fieldbyname('IVNO').AsString))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin CDS_1.EnableControls; Application.MessageBox(PChar(ADOQueryCmd.fieldbyname('ShowMsg').AsString), 'Ìáʾ', 0); exit; 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 TfrmCWYSList.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 // frmKHSel := TfrmKHSel.Create(Application); // with frmKHSel do // begin // if ShowModal = 1 then // begin // MFactoryNo := Trim(Order_Main.fieldbyname('CoCode').AsString); // MFactoryName := Trim(Order_Main.fieldbyname('CoHRName').AsString); // end; // end; // finally // frmKHSel.Free; // end; try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'KHNAME'; flagname := '¿Í»§Ãû³Æ'; if ShowModal = 1 then begin with ClientDataSet1 do begin // MFactoryNo := Trim(Order_Main.fieldbyname('CoCode').AsString); MFactoryName := FieldByName('ZDYName').AsString; end; end; end; finally frmZDYHelp.Free; end; if trim(MFactoryName) = '' 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 TfrmCWYSList.ToolButton4Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmCWYSList.cxGridDBColumn6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var MOrderUnit: string; begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'OrderUnit'; flagname := 'ÊýÁ¿µ¥Î»'; if ShowModal = 1 then begin MOrderUnit := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; with CDS_1 do begin Edit; FieldByName('QtyUnit').Value := MOrderUnit; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set QtyUnit=' + quotedstr(Trim(MOrderUnit))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmCWYSList.FactoryNameKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmCWYSList.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 TfrmCWYSList.Tv1Column10PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var MFactoryNo, MFactoryName: string; begin try frmKHSel := TfrmKHSel.Create(Application); with frmKHSel do begin if ShowModal = 1 then begin MFactoryNo := Trim(Order_Main.fieldbyname('CoCode').AsString); MFactoryName := Trim(Order_Main.fieldbyname('CoHRName').AsString); end; end; finally frmKHSel.Free; end; with CDS_1 do begin Edit; FieldByName('MiddleNo').Value := MFactoryNo; FieldByName('MiddleName').Value := MFactoryName; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set MiddleNo=' + quotedstr(Trim(MFactoryNo))); sql.Add(',MiddleName=' + quotedstr(Trim(MFactoryName))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmCWYSList.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 not ADOQueryTemp.IsEmpty then begin TV1.OptionsData.Editing := False; end else begin TV1.OptionsData.Editing := True; end; if Trim(CDS_1.fieldbyname('FromDataID1').AsString) <> '' then begin v2CRTime.Options.Editing := False; v2FactoryName.Options.Editing := False; v2OrderNo.Options.Editing := False; v2ConNo.Options.Editing := False; v2CKNO.Options.Editing := False; v2P_Code.Options.Editing := False; v2P_CodeName.Options.Editing := False; v2P_Color.Options.Editing := False; v2P_HX.Options.Editing := False; v2ps.Options.Editing := False; v2Qty.Options.Editing := False; v2QtyUnit.Options.Editing := False; v2BZType.Options.Editing := False; end else begin v2CRTime.Options.Editing := True; v2FactoryName.Options.Editing := True; v2OrderNo.Options.Editing := True; v2ConNo.Options.Editing := True; v2CKNO.Options.Editing := True; v2P_Code.Options.Editing := True; v2P_CodeName.Options.Editing := True; v2P_Color.Options.Editing := True; v2P_HX.Options.Editing := True; v2ps.Options.Editing := True; v2Qty.Options.Editing := True; v2QtyUnit.Options.Editing := True; v2BZType.Options.Editing := True; end; end; procedure TfrmCWYSList.v2Column3PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_1 do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ' + FFieldName + '=' + quotedstr(Trim(mvalue))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmCWYSList.v2ConNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmProductOrderSel := TfrmProductOrderSel.Create(Application); with frmProductOrderSel do begin // Forderno := Self.CDS_1.fieldbyname('QCOrderNo').AsString; if ShowModal = 1 then begin with Self.CDS_1 do //Ò³ÃæÏÔʾ begin Edit; FieldByName('ConMainId').Value := Trim(frmProductOrderSel.Order_Main.fieldbyname('MainId').AsString); FieldByName('ConSubId').Value := Trim(frmProductOrderSel.Order_Main.fieldbyname('SubId').AsString); FieldByName('ConNo').Value := Trim(frmProductOrderSel.Order_Main.fieldbyname('ConNo').AsString); FieldByName('P_Color').Value := Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSColor').AsString); FieldByName('P_HX').Value := Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSHX').AsString); FieldByName('P_CodeName').Value := Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSName').AsString); FieldByName('P_Code').Value := Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSCode').AsString); FieldByName('Price').Value := Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSPrice').AsString); FieldByName('QtyUnit').Value := Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSUnit').AsString); FieldByName('Qty').Value := Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSQty').AsString); FieldByName('Note').Value := Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSNote').AsString); post end; with self.ADOQueryCmd do //×Ô¶¯±£´æ begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ConMainId=' + quotedstr(Trim(frmProductOrderSel.Order_Main.fieldbyname('MainId').AsString))); sql.Add(',ConSubId=' + quotedstr(Trim(frmProductOrderSel.Order_Main.fieldbyname('SubId').AsString))); sql.Add(',ConNo=' + quotedstr(Trim(frmProductOrderSel.Order_Main.fieldbyname('ConNo').AsString))); sql.Add(',P_Color=' + quotedstr(Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSColor').AsString))); sql.Add(',P_HX=' + quotedstr(Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSHX').AsString))); sql.Add(',P_CodeName=' + quotedstr(Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSName').AsString))); sql.Add(',P_Code=' + quotedstr(Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSCode').AsString))); sql.Add(',Price=' + quotedstr(Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSPrice').AsString))); sql.Add(',QtyUnit=' + quotedstr(Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSUnit').AsString))); sql.Add(',Qty=' + quotedstr(Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSQty').AsString))); sql.Add(',Note=' + quotedstr(Trim(frmProductOrderSel.Order_Main.fieldbyname('SCSNote').AsString))); sql.Add('where CWID=' + quotedstr(Trim(Self.CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end; end; finally frmProductOrderSel.Free; end; end; procedure TfrmCWYSList.v2CRTimeCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean); begin inherited; if (ARow1.Values[tV1Column11.Index] = ARow2.Values[tV1Column11.Index]) and (ARow1.Values[v2FactoryName.Index] = ARow2.Values[v2FactoryName.Index]) then AAreEqual := True else AAreEqual := False; end; procedure TfrmCWYSList.v2FactoryNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin frmKHSel := TfrmKHSel.Create(Application); with frmKHSel do begin if ShowModal = 1 then begin with Self.CDS_1 do begin Edit; FieldByName('FactoryNo').Value := Trim(frmKHSel.Order_Main.fieldbyname('CoCode').AsString); FieldByName('FactoryName').Value := Trim(frmKHSel.Order_Main.fieldbyname('KHName').AsString); post end; with self.ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set FactoryNo=' + quotedstr(Trim(frmKHSel.Order_Main.fieldbyname('CoCode').AsString))); sql.Add(',FactoryName=' + quotedstr(Trim(frmKHSel.Order_Main.fieldbyname('KHName').AsString))); sql.Add('where CWID=' + quotedstr(Trim(Self.CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end; end; end; procedure TfrmCWYSList.v2OrderNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmProductOrderListSel3 := TfrmProductOrderListSel3.Create(Application); with frmProductOrderListSel3 do begin if ShowModal = 1 then begin with Self.CDS_1 do begin Edit; FieldByName('OrdMainId').Value := Trim(frmProductOrderListSel3.Order_Main.fieldbyname('MainId').AsString); // FieldByName('OrdSubId').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('SubId').AsString); FieldByName('OrderNo').Value := Trim(frmProductOrderListSel3.Order_Main.fieldbyname('OrderNo').AsString); post end; with self.ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set OrdMainId=' + quotedstr(Trim(frmProductOrderListSel3.Order_Main.fieldbyname('MainId').AsString))); // sql.Add(',OrdSubId=' + quotedstr(Trim(frmProductOrderListSel.Order_Main.fieldbyname('SubId').AsString))); sql.Add(',OrderNo=' + quotedstr(Trim(frmProductOrderListSel3.Order_Main.fieldbyname('OrderNo').AsString))); sql.Add('where CWID=' + quotedstr(Trim(Self.CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end; end; finally frmProductOrderSel.Free; end; end; procedure TfrmCWYSList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; end.