unit U_KnitDyePlan; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseHelp, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls, cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, System.ImageList, U_BaseInput, cxButtonEdit; type TfrmKnitDyePlan = class(TfrmBaseHelp) TV1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; ToolBar1: TToolBar; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; DS_1: TDataSource; CDS_1: TClientDataSet; TBSave: TToolButton; TBClose: TToolButton; ToolButton1: TToolButton; ADOConnection1: TADOConnection; Panel1: TPanel; Label1: TLabel; C_Code: TEdit; GPM_1: TcxGridPopupMenu; ImageList1: TImageList; TV1Column1: TcxGridDBColumn; TV1Column2: TcxGridDBColumn; TV1Column3: TcxGridDBColumn; ThreeColorBase: TcxStyleRepository; SHuangSe: TcxStyle; SkyBlue: TcxStyle; Default: TcxStyle; QHuangSe: TcxStyle; Red: TcxStyle; FontBlue: TcxStyle; TextSHuangSe: TcxStyle; FonePurple: TcxStyle; FoneClMaroon: TcxStyle; FoneRed: TcxStyle; RowColor: TcxStyle; handBlack: TcxStyle; cxBlue: TcxStyle; SHuangSeCu: TcxStyle; Label2: TLabel; C_Name: TEdit; Label3: TLabel; Piece: TEdit; Label4: TLabel; Qty: TEdit; ToolButton2: TToolButton; TV1Column4: TcxGridDBColumn; TV1Column6: TcxGridDBColumn; TV1Column7: TcxGridDBColumn; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure TV1DblClick(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure CoNameChange(Sender: TObject); procedure TV1Column1PropertiesEditValueChanged(Sender: TObject); procedure TV1Column3PropertiesEditValueChanged(Sender: TObject); procedure TV1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TV1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TV1Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TV1Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private procedure InitGrid(); { Private declarations } public FCoType, FAuthority, FDRMID, FDRSID: string; { Public declarations } end; var frmKnitDyePlan: TfrmKnitDyePlan; implementation uses U_DataLink, U_RTFun, U_ZDYHelp; {$R *.dfm} procedure TfrmKnitDyePlan.FormCreate(Sender: TObject); begin inherited; try with ADOConnection1 do begin Connected := false; ConnectionString := DConString; Connected := true; end; ADOQueryBaseCmd.Connection := ADOConnection1; ADOQueryBaseTemp.Connection := ADOConnection1; except application.MessageBox('网络连接失败!', '提示信息'); end; end; procedure TfrmKnitDyePlan.CoNameChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; end; procedure TfrmKnitDyePlan.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := cahide; end; procedure TfrmKnitDyePlan.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select A.* from Knit_DyePlan A where DRSID =''' + trim(FDRSID) + ''''); Open; end; SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmKnitDyePlan.FormShow(Sender: TObject); begin inherited; InitGrid(); ReadCxGrid(trim(self.Caption), Tv1, '发货管理') end; procedure TfrmKnitDyePlan.TBCloseClick(Sender: TObject); begin inherited; Close; end; procedure TfrmKnitDyePlan.TBSaveClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '发货管理') end; procedure TfrmKnitDyePlan.ToolButton1Click(Sender: TObject); var maxId: string; begin if GetLSNo(ADOQueryCmd, maxId, 'KD', 'Knit_DyePlan', 4, 1) = False then begin Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into Knit_DyePlan(DyeNo,DRMID,DRSID,Filler,Filltime) values('); sql.Add(quotedstr(Trim(maxId))); sql.Add(', ' + quotedstr(Trim(FDRMID))); sql.Add(', ' + quotedstr(Trim(FDRSID))); sql.Add(', ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(')'); ExecSQL; end; InitGrid(); end; procedure TfrmKnitDyePlan.TV1Column1PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if mvalue = '' then mvalue := '0'; with CDS_1 do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Knit_DyePlan set ' + FFieldName + ' = ' + mvalue); sql.Add('where DyeNo=' + quotedstr(Trim(CDS_1.FieldByName('DyeNo').AsString))); ExecSQL; end; Tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmKnitDyePlan.TV1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'DyeColor'; flagname := '染整颜色'; if ShowModal = 1 then begin Self.CDS_1.Edit; Self.CDS_1.FieldByName('DyeColor').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Knit_DyePlan set DyeColor= ''' + Trim(ClientDataSet1.fieldbyname('ZDYName').AsString) + ''''); sql.Add('where DyeNo=' + quotedstr(Trim(CDS_1.FieldByName('DyeNo').AsString))); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmKnitDyePlan.TV1Column3PropertiesEditValueChanged(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 Knit_DyePlan set ' + FFieldName + '=''' + Trim(mvalue) + ''''); sql.Add('where DyeNo=' + quotedstr(Trim(CDS_1.FieldByName('DyeNo').AsString))); ExecSQL; end; Tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmKnitDyePlan.TV1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'DyeColorNo'; flagname := '染整色号'; if ShowModal = 1 then begin Self.CDS_1.Edit; Self.CDS_1.FieldByName('DyeColorNo').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Knit_DyePlan set DyeColorNo= ''' + Trim(ClientDataSet1.fieldbyname('ZDYName').AsString) + ''''); sql.Add('where DyeNo=' + quotedstr(Trim(CDS_1.FieldByName('DyeNo').AsString))); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmKnitDyePlan.TV1Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'DyeDeal'; flagname := '染整工艺'; if ShowModal = 1 then begin Self.CDS_1.Edit; Self.CDS_1.FieldByName('DyeDeal').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Knit_DyePlan set DyeDeal= ''' + Trim(ClientDataSet1.fieldbyname('ZDYName').AsString) + ''''); sql.Add('where DyeNo=' + quotedstr(Trim(CDS_1.FieldByName('DyeNo').AsString))); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmKnitDyePlan.TV1Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'DyeNote'; flagname := '染整备注'; if ShowModal = 1 then begin Self.CDS_1.Edit; Self.CDS_1.FieldByName('DyeNote').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Knit_DyePlan set DyeNote= ''' + Trim(ClientDataSet1.fieldbyname('ZDYName').AsString) + ''''); sql.Add('where DyeNo=' + quotedstr(Trim(CDS_1.FieldByName('DyeNo').AsString))); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmKnitDyePlan.TV1DblClick(Sender: TObject); begin ModalResult := 1; end; procedure TfrmKnitDyePlan.FormDestroy(Sender: TObject); begin inherited; frmKnitDyePlan := nil; end; end.