unit U_CraftSel; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, DBClient, ToolWin, ComCtrls, StdCtrls, ExtCtrls, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, dxScrollbarAnnotations, cxCheckBox, System.ImageList, dxSkinWXI, Vcl.ImgList; //通用工艺选择窗体(自包含连接,供各模块DLL使用,连接串取自各工程自己的U_DataLink.DConString) type TfrmCraftSel = class(TForm) ToolBar1: TToolBar; TBFind: TToolButton; TBSave: TToolButton; TBClose: TToolButton; Panel1: TPanel; Label1: TLabel; Label2: TLabel; CR_Code: TEdit; CR_Name: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; Tv1CR_Code: TcxGridDBColumn; Tv1CR_Name: TcxGridDBColumn; Tv1C_Width: TcxGridDBColumn; Tv1C_GramWeight: TcxGridDBColumn; Tv1C_Color: TcxGridDBColumn; Tv1C_YarnQty: TcxGridDBColumn; Tv1head_count: TcxGridDBColumn; Tv1strip_width: TcxGridDBColumn; Tv1C_MachLatitudeDensity: TcxGridDBColumn; Tv1row_count_top: TcxGridDBColumn; Tv1displace: TcxGridDBColumn; Tv1reed_width: TcxGridDBColumn; Tv1C_ReedNo: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; DS_1: TDataSource; CDS_1: TClientDataSet; ADOQueryMain: TADOQuery; ADOConnection1: TADOConnection; ImageList1: TImageList; procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure Tv1DblClick(Sender: TObject); procedure CRCodeKeyPress(Sender: TObject; var Key: Char); private procedure InitGrid(); { Private declarations } public { Public declarations } end; var frmCraftSel: TfrmCraftSel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmCraftSel.FormCreate(Sender: TObject); begin try with ADOConnection1 do begin Connected := false; ConnectionString := DConString; Connected := true; end; except application.MessageBox('网络连接失败!', '提示信息'); end; end; procedure TfrmCraftSel.InitGrid(); var fwhere: string; begin fwhere := ' where 1=1 '; if Trim(CR_Code.Text) <> '' then fwhere := fwhere + ' and CR_Code like ' + QuotedStr('%' + Trim(CR_Code.Text) + '%'); if Trim(CR_Name.Text) <> '' then fwhere := fwhere + ' and CR_Name like ' + QuotedStr('%' + Trim(CR_Name.Text) + '%'); with ADOQueryMain do begin Close; Filtered := False; SQL.Clear; SQL.Add('select * from BS_Craft_Info' + fwhere + ' order by CR_Code'); Open; end; SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); TV1.DataController.Filter.Clear; end; procedure TfrmCraftSel.FormShow(Sender: TObject); begin InitGrid(); end; procedure TfrmCraftSel.FormDestroy(Sender: TObject); begin frmCraftSel := nil; end; procedure TfrmCraftSel.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmCraftSel.TBSaveClick(Sender: TObject); begin if CDS_1.IsEmpty then Exit; ModalResult := 1; end; procedure TfrmCraftSel.TBFindClick(Sender: TObject); begin InitGrid(); end; procedure TfrmCraftSel.Tv1DblClick(Sender: TObject); begin if CDS_1.IsEmpty then Exit; ModalResult := 1; end; procedure TfrmCraftSel.CRCodeKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin Key := #0; InitGrid(); end; end; end.