unit U_HJGTradePlanSel; 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, cxCheckBox, cxCalendar, Vcl.Menus, dxSkinWXI, dxScrollbarAnnotations; type TfrmHJGTradePlanSel = class(TfrmBaseHelp) ToolBar1: TToolBar; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; DS_1: TDataSource; CDS_1: TClientDataSet; TBSave: TToolButton; TBClose: TToolButton; ToolButton1: TToolButton; ADOConnection1: TADOConnection; Panel1: TPanel; GPM_1: TcxGridPopupMenu; ImageList1: TImageList; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column7: TcxGridDBColumn; v1OrderNo: TcxGridDBColumn; v1ConNo: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; v1OrdDefStr1: TcxGridDBColumn; v1MPRTCodeName: TcxGridDBColumn; v1MPRTSpec: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; v1MPRTMF: TcxGridDBColumn; v1MPRTKZ: TcxGridDBColumn; v1PRTColor: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1DeliveryDate: TcxGridDBColumn; v1Column3: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Tv1Column2: TcxGridDBColumn; Label3: TLabel; Label2: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; OrderNo: TEdit; C_Name: TEdit; C_Color: TEdit; C_ColorNo: TEdit; C_Pattern: TEdit; C_Code: TEdit; ConNo: TEdit; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; Tv1Column10: TcxGridDBColumn; Tv1Column12: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Label1: TLabel; BuyConNO: TEdit; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure OrderNoChange(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Tv1DblClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); private procedure InitGrid(); { Private declarations } public FCoType, FAuthority, FMainID: string; { Public declarations } end; var frmHJGTradePlanSel: TfrmHJGTradePlanSel; implementation uses U_DataLink, U_RTFun, U_RSTradePlanSel; {$R *.dfm} procedure TfrmHJGTradePlanSel.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 TfrmHJGTradePlanSel.FormDestroy(Sender: TObject); begin inherited; frmHJGTradePlanSel := nil; end; procedure TfrmHJGTradePlanSel.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := cahide; end; procedure TfrmHJGTradePlanSel.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select A.* from V_Trade_Plan_HJG A '); sql.add('where Status=''9'' AND WPQty<>0 AND GXS<>0'); sql.add('Order by OrdDate Desc,subid'); // ShowMessage(sql.Text); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmHJGTradePlanSel.N1Click(Sender: TObject); begin SelOKNo(CDS_1, True); end; procedure TfrmHJGTradePlanSel.N2Click(Sender: TObject); begin SelOKNo(CDS_1, False); end; procedure TfrmHJGTradePlanSel.OrderNoChange(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 TfrmHJGTradePlanSel.FormShow(Sender: TObject); begin inherited; ReadCxGrid('单位名称' + Trim(FCoType), TV1, '自定义数据'); InitGrid(); end; procedure TfrmHJGTradePlanSel.TBCloseClick(Sender: TObject); begin inherited; Close; end; procedure TfrmHJGTradePlanSel.TBSaveClick(Sender: TObject); begin WriteCxGrid('单位名称' + Trim(FCoType), TV1, '自定义数据'); end; procedure TfrmHJGTradePlanSel.ToolButton1Click(Sender: TObject); var Count: Integer; Value: string; begin Count := 1; with ADOQueryMain do begin Close; sql.Clear; sql.Add('select A.*,BuyConNo=(select Top 1 BuyConNo from Trade_Plan_Sub X where X.MainId=A.MainId) '); sql.Add(' from Trade_Plan_Main A Where MainId=''' + Trim(FMainId) + ''''); // ShowMessage(sql.Text); Open; end; Value := ADOQueryMain.FieldByName('OrderNo').ASString; with CDS_1 do begin First; while not Eof do begin if CDS_1.fieldbyname('SSel').AsBoolean then begin if Value = '' then begin Value := FieldByName('OrderNo').AsString; end; if Value <> '' then begin if Value <> FieldByName('OrderNo').AsString then begin Count := Count + 1; end; end; end; Next; end; end; if Count = 1 then begin ModalResult := 1; end else begin application.MessageBox('选择的不是同一计划单!', '提示信息'); exit; end; end; procedure TfrmHJGTradePlanSel.Tv1DblClick(Sender: TObject); begin ModalResult := 1; end; end.