unit U_LbaelMapSet; 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, cxCheckComboBox, cxDropDownEdit, Menus, RM_e_Xls, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, System.ImageList, Vcl.ImgList, U_BaseHelp; type TfrmLbaelMapSet = class(Tform) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; cxGridPopupMenu2: TcxGridPopupMenu; DS_1: TDataSource; CDS_1: TClientDataSet; Panel1: TPanel; LMName: TEdit; v2Column8: TcxGridDBColumn; Label1: TLabel; v2Column12: TcxGridDBColumn; ToolButton4: TToolButton; ToolButton5: TToolButton; Label2: TLabel; LMType: TEdit; v2Column1: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; ToolButton1: TToolButton; Tv1Column2: TcxGridDBColumn; ADOConnection1: TADOConnection; ImageList1: TImageList; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; cxGridLevel2: TcxGridLevel; DS_2: TDataSource; CDS_2: TClientDataSet; ToolBar2: TToolBar; ToolButton12: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; ToolButton3: TToolButton; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure CustomerChange(Sender: TObject); procedure v2Column8PropertiesEditValueChanged(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure ToolButton12Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); private { Private declarations } procedure InitGrid(); procedure Getfields(MSql: Integer); public FLMType: string; FFiltration1, FFiltration2, FFiltration3: string; { Public declarations } end; var frmLbaelMapSet: TfrmLbaelMapSet; implementation uses U_DataLink, U_RTFun, U_ZDYHelp; {$R *.dfm} procedure TfrmLbaelMapSet.Getfields(MSql: Integer); begin case MSql of 1: begin if trim(CDS_1.fieldbyname('LMSql1').AsString) <> '' then begin with ADOQueryTemp do begin Close; sql.Clear; sql.add('exec ' + trim(CDS_1.fieldbyname('LMSql1').AsString) + ' @Filtration=' + quotedstr(Trim(FFiltration1))); Open; end; end; SCreateCDS(ADOQueryTemp, CDS_2); SInitCDSData(ADOQueryTemp, CDS_2); TV2.ClearItems; //清空数据 (TV2.DataController as IcxCustomGridDataController).DeleteAllItems; //删除所有列 (TV2.DataController as IcxCustomGridDataController).CreateAllItems(false); //创建数据源中的所有列 TV2.ApplyBestFit; //让列宽自适应 .BestFitMaxWidth; end; 2: begin if trim(CDS_1.fieldbyname('LMSql2').AsString) <> '' then begin with ADOQueryTemp do begin Close; sql.Clear; sql.add('exec ' + trim(CDS_1.fieldbyname('LMSql2').AsString) + ' @Filtration=' + quotedstr(Trim(FFiltration2))); Open; end; end; SCreateCDS(ADOQueryTemp, CDS_2); SInitCDSData(ADOQueryTemp, CDS_2); TV2.ClearItems; //清空数据 (TV2.DataController as IcxCustomGridDataController).DeleteAllItems; //删除所有列 (TV2.DataController as IcxCustomGridDataController).CreateAllItems(false); //创建数据源中的所有列 TV2.ApplyBestFit; //让列宽自适应 .BestFitMaxWidth; end; 3: begin if trim(CDS_1.fieldbyname('LMSql3').AsString) <> '' then begin with ADOQueryTemp do begin Close; sql.Clear; sql.add('exec ' + trim(CDS_1.fieldbyname('LMSql3').AsString) + ' @Filtration=' + quotedstr(Trim(FFiltration3))); Open; end; end; SCreateCDS(ADOQueryTemp, CDS_2); SInitCDSData(ADOQueryTemp, CDS_2); TV2.ClearItems; //清空数据 (TV2.DataController as IcxCustomGridDataController).DeleteAllItems; //删除所有列 (TV2.DataController as IcxCustomGridDataController).CreateAllItems(false); //创建数据源中的所有列 TV2.ApplyBestFit; //让列宽自适应 .BestFitMaxWidth; end; end; end; procedure TfrmLbaelMapSet.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; sql.Add(' select A.* from BS_Label_Map A '); sql.Add(' where LMType=' + quotedstr(FLMType)); Open; end; SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; ToolButton2.Click; end; end; procedure TfrmLbaelMapSet.FormDestroy(Sender: TObject); begin frmLbaelMapSet := nil; end; procedure TfrmLbaelMapSet.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmLbaelMapSet.FormCreate(Sender: TObject); begin try with ADOConnection1 do begin Connected := false; ConnectionString := DConString; Connected := true; end; // ADOQueryBaseCmd.Connection := ADOConnection1; // ADOQueryBaseTemp.Connection := ADOConnection1; except end; end; procedure TfrmLbaelMapSet.TBCloseClick(Sender: TObject); begin ModalResult := 1; end; procedure TfrmLbaelMapSet.FormShow(Sender: TObject); begin ReadCxGrid(Trim(Self.Caption), Tv1, '标签管理'); InitGrid(); end; procedure TfrmLbaelMapSet.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmLbaelMapSet.ToolButton12Click(Sender: TObject); begin Getfields(1); end; procedure TfrmLbaelMapSet.ToolButton1Click(Sender: TObject); begin WriteCxGrid(Trim(Self.Caption), Tv1, '标签管理'); end; procedure TfrmLbaelMapSet.ToolButton2Click(Sender: TObject); var sql: string; begin if ADOQueryMain.Active then begin sql := SGetFilters(Panel1, 1, 2); SDofilter(ADOQueryMain, sql); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; end; procedure TfrmLbaelMapSet.ToolButton3Click(Sender: TObject); begin TcxGridToExcel('sql字段', cxgrid2); end; procedure TfrmLbaelMapSet.cxTabControl1Change(Sender: TObject); begin InitGrid; end; procedure TfrmLbaelMapSet.CustomerChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmLbaelMapSet.v2Column8PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); try ADOQueryCmd.Connection.BeginTrans; with CDS_1 do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate BS_Label_Map '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); sql.Add(' , Editer=''' + Trim(DName) + ''''); sql.Add(' , Edittime=getdate()'); sql.Add(' where LMID=' + quotedstr(CDS_1.fieldbyname('LMID').AsString)); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; tv1.Controller.EditingController.ShowEdit(); except tv1.Controller.EditingController.ShowEdit(); ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end end; procedure TfrmLbaelMapSet.ToolButton4Click(Sender: TObject); begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into BS_Label_Map(LMType,Filler) values(' + quotedstr(Trim(FLMType)) + ',' + quotedstr(Trim(dname)) + ')'); ExecSQL; end; InitGrid(); end; procedure TfrmLbaelMapSet.ToolButton5Click(Sender: TObject); begin if CDS_1.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete BS_Label_Map where LMID=' + QuotedStr(CDS_1.FieldByName('LMID').AsString)); ExecSQL; end; CDS_1.Delete; end; procedure TfrmLbaelMapSet.ToolButton6Click(Sender: TObject); begin Getfields(2); end; procedure TfrmLbaelMapSet.ToolButton7Click(Sender: TObject); begin Getfields(3); end; end.