unit U_DyeProcessSel;

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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, Menus,
    dxDateRanges, dxBarBuiltInMenu,
  System.ImageList, Vcl.ImgList, U_BaseHelp;

type
  TfrmDyeProcessSel = class(TfrmBaseHelp)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBClose: TToolButton;
    ADOQueryTemp: TADOQuery;
    ADOQueryCmd: TADOQuery;
    Panel1: TPanel;
    ToolButton2: TToolButton;
    ADOQueryMain: TADOQuery;
    GPM_2: TcxGridPopupMenu;
    DS_HZ: TDataSource;
    CDS_HZ: TClientDataSet;
    Label5: TLabel;
    SYRName: TcxTextEdit;
    Label1: TLabel;
    PSName: TcxTextEdit;
    cxGrid2: TcxGrid;
    Tv2: TcxGridDBTableView;
    v2PSName: TcxGridDBColumn;
    v2PSNote: TcxGridDBColumn;
    v2SYRName: TcxGridDBColumn;
    vLDPrice: TcxGridDBColumn;
    v2Column1: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    TSsel: TToolButton;
    cxGrid1: TcxGrid;
    TV1: TcxGridDBTableView;
    cxGridDBColumn1: TcxGridDBColumn;
    cxGridDBColumn3: TcxGridDBColumn;
    cxGridDBColumn4: TcxGridDBColumn;
    cxGridDBColumn5: TcxGridDBColumn;
    cxGridDBColumn6: TcxGridDBColumn;
    cxGridLevel2: TcxGridLevel;
    cxSplitter1: TcxSplitter;
    DS_1: TDataSource;
    CDS_1: TClientDataSet;
    ADOQuery1: TADOQuery;
    V1PSXH: TcxGridDBColumn;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    ImageList1: TImageList;
    ADOConnection1: TADOConnection;
    GPM_1: TcxGridPopupMenu;
    ToolButton1: 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 ZdyNameChange(Sender: TObject);
    procedure TSselClick(Sender: TObject);
    procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
    procedure TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
  private
    { Private declarations }
    procedure InitGrid();
  public
    fDEFstr5: string;
  end;

var
  frmDyeProcessSel: TfrmDyeProcessSel;

implementation

uses
  U_DataLink, U_RTFun, U_ZDYHelp;

{$R *.dfm}

procedure TfrmDyeProcessSel.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      SQL.Clear;
      sql.Add(' select *,PSXH=0 from Dye_Process ');
      Open;
    end;
    SCreateCDS(ADOQueryMain, CDS_HZ);
    SInitCDSData(ADOQueryMain, CDS_HZ);
    SCreateCDS(ADOQueryMain, CDS_1);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmDyeProcessSel.FormCreate(Sender: TObject);
begin
  try
    with ADOConnection1 do
    begin
      Connected := false;
      ConnectionString := DConString;
      Connected := true;
    end;
    ADOQueryBaseCmd.Connection := ADOConnection1;
    ADOQueryBaseTemp.Connection := ADOConnection1;
  except
    {if Application.MessageBox('网络连接失败,是否要再次连接?','提示',32+4)=IDYES then
    begin
      try
        with ADOConnection1 do
        begin
          Connected:=false;
          ConnectionString:=DConString;
          //ConnectionString:='23242';
          Connected:=true;
        end;
      except
      end;
    end; }
  end;
end;

procedure TfrmDyeProcessSel.FormDestroy(Sender: TObject);
begin
  frmDyeProcessSel := nil;
end;

procedure TfrmDyeProcessSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure TfrmDyeProcessSel.TBCloseClick(Sender: TObject);
begin

  Close;
end;

procedure TfrmDyeProcessSel.FormShow(Sender: TObject);
begin
  ReadCxGrid(trim(self.Caption) + 'TV1', Tv1, '客户自定义');
  ReadCxGrid(trim(self.Caption) + 'TV2', Tv2, '客户自定义');
  InitGrid();
end;

procedure TfrmDyeProcessSel.TBRafreshClick(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmDyeProcessSel.ToolButton1Click(Sender: TObject);
begin

  WriteCxGrid(trim(self.Caption) + 'TV1', Tv1, '客户自定义');
  WriteCxGrid(trim(self.Caption) + 'TV2', Tv2, '客户自定义');
end;

procedure TfrmDyeProcessSel.ToolButton2Click(Sender: TObject);
begin
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
    SCreateCDS(ADOQueryMain, CDS_HZ);
    SInitCDSData(ADOQueryMain, CDS_HZ);
  end;
end;

procedure TfrmDyeProcessSel.ZdyNameChange(Sender: TObject);
begin
  ToolButton2.Click;
end;

procedure TfrmDyeProcessSel.TSselClick(Sender: TObject);
begin
  if CDS_HZ.IsEmpty then
    exit;
  ModalResult := 1;
end;

procedure TfrmDyeProcessSel.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
  with CDS_1 do
  begin
    Append;
    FieldByName('PSXH').Value := CDS_1.RecordCount + 1;
    FieldByName('PSName').Value := CDS_HZ.fieldbyname('PSName').AsString;
    FieldByName('PSType').Value := CDS_HZ.fieldbyname('PSType').AsString;
    FieldByName('Workshop').Value := CDS_HZ.fieldbyname('Workshop').AsString;
    FieldByName('Note').Value := CDS_HZ.fieldbyname('Note').AsString;
    FieldByName('PSID').Value := CDS_HZ.fieldbyname('PSID').AsString;
    post;
  end;
end;

procedure TfrmDyeProcessSel.TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
  CDS_1.Delete;
end;

end.

