unit U_ZDYHelp_P;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
  cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseInput, 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, cxContainer, cxImageList,
  dxSkinBasic, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel,
  dxSkinCoffee, dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
  dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast,
  dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
  dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
  dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
  dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
  dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
  dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinOffice2016Colorful,
  dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful,
  dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven,
  dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
  dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
  dxSkinTheBezier, dxSkinValentine, dxSkinVisualStudio2013Blue,
  dxSkinVisualStudio2013Dark, dxSkinVisualStudio2013Light, dxSkinVS2010,
  dxSkinWhiteprint, dxSkinWXI, dxSkinXmas2008Blue, dxScrollbarAnnotations;

type
  TfrmZDYHelp_P = class(TfrmBaseInput)
    TV1: TcxGridDBTableView;
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    V1Code: TcxGridDBColumn;
    V1Name: TcxGridDBColumn;
    ToolBar1: TToolBar;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    ADOQueryCmd: TADOQuery;
    DataSource1: TDataSource;
    ClientDataSet1: TClientDataSet;
    TBAdd: TToolButton;
    TBSave: TToolButton;
    TBDel: TToolButton;
    TBClose: TToolButton;
    ToolButton1: TToolButton;
    TBEdit: TToolButton;
    V1Note: TcxGridDBColumn;
    V1OrderNo: TcxGridDBColumn;
    ADOConnection1: TADOConnection;
    Panel1: TPanel;
    Label1: TLabel;
    ZDYName: TcxTextEdit;
    ThreeImgList: TImageList;
    Label2: TLabel;
    cxGridPopupMenu1: TcxGridPopupMenu;
    V1ZdyFlag: TcxGridDBColumn;
    V1HelpType: TcxGridDBColumn;
    V1note1: TcxGridDBColumn;
    ImageList1: TImageList;
    V1ZdyFlt1: TcxGridDBColumn;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TBAddClick(Sender: TObject);
    procedure TBSaveClick(Sender: TObject);
    procedure TBDelClick(Sender: TObject);
    procedure TBCloseClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure TBEditClick(Sender: TObject);
    procedure TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
    procedure V1NamePropertiesEditValueChanged(Sender: TObject);
    procedure V1OrderNoPropertiesEditValueChanged(Sender: TObject);
    procedure V1NotePropertiesEditValueChanged(Sender: TObject);
    procedure V1Column1PropertiesEditValueChanged(Sender: TObject);
    procedure V1HelpTypePropertiesEditValueChanged(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure ZDYNamePropertiesChange(Sender: TObject);
  private
    procedure InitGrid();
    { Private declarations }
  public
    flag, flagname, snote, MainType: string;
    fnote, forderno, fZdyFlag, ViewFlag, fnote1, FHelpType,FZdyFlt1: Boolean;
    PPSTE: integer;
    { Public declarations }
  end;

var
  frmZDYHelp_P: TfrmZDYHelp_P;

implementation

uses
  U_DataLink, U_RTFun, U_ZDYHelp;

{$R *.dfm}

procedure TfrmZDYHelp_P.FormCreate(Sender: TObject);
begin
  inherited;

  with ADOConnection1 do
  begin
    Connected := false;
    ConnectionString := DConString;
    Connected := true;
  end;
  ADOQueryBaseCmd.Connection := ADOConnection1;
  ADOQueryBaseTemp.Connection := ADOConnection1;

end;

procedure TfrmZDYHelp_P.FormClose(Sender: TObject; var Action: TCloseAction);
begin

  ZDYName.SetFocus;

  Action := cahide;
end;

procedure TfrmZDYHelp_P.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Close;
      sql.Clear;
      sql.Add('select A.*,ZJM=dbo.getPinYin(A.ZdyName) from KH_ZDY A where A.Type=''' + flag + '''');
      if Trim(MainType) <> '' then
      begin
        sql.Add(' and A.MainType=''' + Trim(MainType) + '''');
      end;
      Open;
    end;
    SCreateCDS(ADOQueryMain, ClientDataSet1);
    SInitCDSData(ADOQueryMain, ClientDataSet1);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmZDYHelp_P.TBAddClick(Sender: TObject);
var
  i: Integer;
begin
  ZDYName.SetFocus;
  TV1.OptionsData.Editing := True;
  TV1.OptionsSelection.CellSelect := True;
  for i := 0 to 5 do
  begin
    with ClientDataSet1 do
    begin
      Append;
      Post;
    end;
  end;

end;

procedure TfrmZDYHelp_P.TBSaveClick(Sender: TObject);
var
  maxno: string;
begin
  if ClientDataSet1.IsEmpty then
    Exit;
  ZDYName.SetFocus;

  if ClientDataSet1.Locate('ZDYName', null, []) then
  begin
    Application.MessageBox('名称不能为空！', '提示', 0);
    Exit;
  end;
  if ClientDataSet1.Locate('ZDYName', '', []) then
  begin
    Application.MessageBox('名称不能为空！', '提示', 0);
    Exit;
  end;
  try
    ADOQueryCmd.Connection.BeginTrans;
    with ADOQueryTemp do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from KH_ZDY where ZdyNo=''' + Trim(flag) + '''');
      open;
    end;
    if ADOQueryTemp.IsEmpty then
    begin
      with ADOQueryCmd do
      begin
        close;
        sql.Clear;
        sql.Add('select * from KH_ZDY where 1=2');
        open;
        ADOQueryCmd.Append;
        ADOQueryCmd.FieldByName('ZDYNo').Value := Trim(flag);
        ADOQueryCmd.FieldByName('ZDYName').Value := trim(flagname);
        ADOQueryCmd.FieldByName('Type').Value := 'Main';
        ADOQueryCmd.FieldByName('MainType').Value := Trim(MainType);
        ADOQueryCmd.Post;
       { sql.Add('insert into KH_ZDY(ZDYNo,ZDYName,Type,MainType) select :ZDYNo,:ZDYName,:Type,:MainType ');
        Parameters.ParamByName('ZDYNo').Value:=Trim(flag);
        Parameters.ParamByName('ZDYName').Value:=Trim(flagname);
        Parameters.ParamByName('Type').Value:='Main';
        Parameters.ParamByName('MainType').Value:=Trim(MainType);
        ExecSQL;  }
      end;
    end;
    with ADOQueryCmd do
    begin
      ClientDataSet1.DisableControls;
      with ClientDataSet1 do
      begin
        First;
        while not eof do
        begin
          if Trim(ClientDataSet1.FieldByName('ZDYNO').AsString) = '' then
          begin
            if GetLSNo(ADOQueryTemp, maxno, 'SY', 'KH_ZDY', 3, 1) = False then
            begin
              ADOQueryCmd.Connection.RollbackTrans;
              ClientDataSet1.EnableControls;
              Application.MessageBox('取最大编号失败！', '提示', 0);
              Exit;
            end;
          end
          else
          begin
            maxno := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
          end;
          with ADOQueryTemp do
          begin
            Close;
            sql.Clear;
            sql.add('select * from KH_Zdy where Type=''' + Trim(flag) + '''');
            if Trim(MainType) <> '' then
              SQL.Add(' and MainType=''' + Trim(MainType) + '''');
            sql.Add(' and ZdyName=''' + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) + '''');
            Open;
          end;
          if ADOQueryTemp.IsEmpty = False then
          begin
            if ADOQueryTemp.RecordCount > 1 then
            begin
              ADOQueryCmd.Connection.RollbackTrans;
              ClientDataSet1.EnableControls;
              Application.MessageBox('名称重复！', '提示', 0);
              Exit;
            end;
            if Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) = '' then
            begin
              ADOQueryCmd.Connection.RollbackTrans;
              ClientDataSet1.EnableControls;
              Application.MessageBox('名称重复！', '提示', 0);
              Exit;
            end
            else
            begin
              if Trim(ADOQueryTemp.fieldbyname('ZdyNo').AsString) <> Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) then
              begin
                ADOQueryCmd.Connection.RollbackTrans;
                ClientDataSet1.EnableControls;
                Application.MessageBox('名称重复！', '提示', 0);
                Exit;
              end;
            end;
          end;
          with ADOQueryCmd do
          begin
            Close;
            sql.Clear;
            SQL.Add('delete KH_ZDY where ZDYNO=''' + Trim(ClientDataSet1.fieldbyname('ZDYNO').AsString) + '''');
            ExecSQL;
          end;
          with ADOQueryCmd do
          begin
            Close;
            sql.Clear;
            sql.Add('select * from KH_ZDY where 1<>1');
            Open;
          end;
          ADOQueryCmd.Append;
          ADOQueryCmd.FieldByName('ZDYNo').Value := Trim(maxno);
          ADOQueryCmd.FieldByName('ZDYName').Value := ClientDataSet1.fieldbyname('ZDYName').Value;
          ADOQueryCmd.FieldByName('note').Value := Trim(snote);
          //ADOQueryCmd.FieldByName('orderno').Value:=ClientDataSet1.fieldbyname('Name').AsString;
          ADOQueryCmd.FieldByName('Type').Value := flag;
          ADOQueryCmd.FieldByName('valid').Value := 'Y';
          if Trim(MainType) <> '' then
            ADOQueryCmd.FieldByName('MainType').Value := Trim(MainType);
          //ADOQueryCmd.FieldByName('sel').Value:=0;
          ADOQueryCmd.Post;
          ClientDataSet1.Edit;
          ClientDataSet1.FieldByName('ZDYNo').Value := Trim(maxno);
          ClientDataSet1.Post;
          Next;
        end;
      end;
      ClientDataSet1.EnableControls;
    end;
    ADOQueryCmd.Connection.CommitTrans;
    Application.MessageBox('保存成功！', '提示', 0);
    TV1.OptionsData.Editing := False;
    TV1.OptionsSelection.CellSelect := False;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    Application.MessageBox('保存失败！', '提示', 0);
  end;

end;

procedure TfrmZDYHelp_P.TBDelClick(Sender: TObject);
begin
  if ClientDataSet1.IsEmpty then
    Exit;
  if (Trim(ClientDataSet1.FieldByName('ZDYNo').AsString) <> '') or (Trim(ClientDataSet1.FieldByName('ZDYname').AsString) <> '') then
  begin
    if application.MessageBox('确定要删除吗?', '提示信息', 1) = 2 then
      exit;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('delete KH_ZDY where ZDYNo=''' + Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString) + '''');
      SQL.Add(' and Type=''' + Trim(flag) + '''');
      ExecSQL;
    end;
  end;
  ClientDataSet1.Delete;
end;

procedure TfrmZDYHelp_P.TBCloseClick(Sender: TObject);
begin
  ModalResult := 2;
  ZDYName.SetFocus;

  Close;
end;

procedure TfrmZDYHelp_P.FormShow(Sender: TObject);
var
  fsj, fsj1: string;
begin
//  inherited;

  InitGrid();
  fsj := Trim(flag) + '01';
  fsj1 := Trim(flagname) + '01';

  ReadCxGrid('自定义' + Trim(flag), TV1, '自定义数据');
  frmZDYHelp_P.Caption := Trim(flagname);
  V1Note.Visible := fnote;
  V1ZdyFlag.Visible := fZdyFlag;
  V1OrderNo.Visible := forderno;
  v1note1.Visible := fnote1;
  V1HelpType.Visible := fhelpType;
//  V1ZdyFlt1.Visible := fZdyFlt1;
  if ViewFlag = True then
  begin
    TBAdd.Visible := False;
    TBSave.Visible := False;
    TBDel.Visible := False;
    TBEdit.Visible := False;
    Label2.Visible := False;
  end;
end;

procedure TfrmZDYHelp_P.ToolButton1Click(Sender: TObject);
begin
  ZDYName.SetFocus;
 // WriteCxGrid('自定义'+Trim(flag),TV1,'自定义数据');
  ModalResult := 1;
end;

procedure TfrmZDYHelp_P.TBEditClick(Sender: TObject);
begin
  TV1.OptionsData.Editing := True;
  TV1.OptionsSelection.CellSelect := True;
end;

procedure TfrmZDYHelp_P.TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
  if TV1.OptionsData.Editing = False then
  begin
    ModalResult := 1;
  end;
end;

procedure TfrmZDYHelp_P.ZDYNamePropertiesChange(Sender: TObject);
var
  fsj: string;
begin
  if Trim(ZDYName.Text) <> '' then
  begin
    fsj := ' zdyname like ''' + '%' + Trim(ZDYName.Text) + '%' + '''' + ' or Note like ''' + '%' + Trim(ZDYName.Text) + '%' + '''' + ' or ZJM like ''' + '%' + Trim(ZDYName.Text) + '%' + '''';
  end;
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain, fsj);
    SCreateCDS(ADOQueryMain, ClientDataSet1);
    SInitCDSData(ADOQueryMain, ClientDataSet1);
  end;
end;

procedure TfrmZDYHelp_P.V1NamePropertiesEditValueChanged(Sender: TObject);
var
  maxno, mvalue: string;
begin
  mvalue := TcxTextEdit(Sender).EditingText;
  if Trim(mvalue) = '' then
  begin
    //Application.MessageBox('名称不能为空！','提示',0);
    Exit;
  end;
  with ClientDataSet1 do
  begin
    Edit;
    FieldByName('ZdyName').Value := Trim(mvalue);
    //Post;
  end;
  try
    ADOQueryCmd.Connection.BeginTrans;
    with ADOQueryTemp do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from KH_ZDY where ZdyNo=''' + Trim(flag) + '''');
      open;
    end;
    if ADOQueryTemp.IsEmpty then
    begin
      with ADOQueryCmd do
      begin
        close;
        sql.Clear;
        sql.Add('select * from KH_ZDY where 1=2');
        open;
        ADOQueryCmd.Append;
        ADOQueryCmd.FieldByName('ZDYNo').Value := Trim(flag);
        ADOQueryCmd.FieldByName('ZDYName').Value := trim(flagname);
        ADOQueryCmd.FieldByName('Type').Value := 'Main';
        ADOQueryCmd.FieldByName('MainType').Value := Trim(MainType);
        ADOQueryCmd.Post;
      end;
    end;
    with ADOQueryCmd do
    begin
      //ClientDataSet1.DisableControls;
      //with ClientDataSet1 do
      //begin
        //First;
        //while not eof do
        //begin
      if Trim(ClientDataSet1.FieldByName('ZDYNO').AsString) = '' then
      begin
        if GetLSNo(ADOQueryTemp, maxno, 'SY', 'KH_ZDY', 3, 1) = False then
        begin
          ADOQueryCmd.Connection.RollbackTrans;
              //ClientDataSet1.EnableControls;
          Application.MessageBox('取最大编号失败！', '提示', 0);
          Exit;
        end;
      end
      else
      begin
        maxno := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
      end;
      with ADOQueryTemp do
      begin
        Close;
        sql.Clear;
        sql.add('select * from KH_Zdy where Type=''' + Trim(flag) + '''');
        if Trim(MainType) <> '' then
          SQL.Add(' and MainType=''' + Trim(MainType) + '''');
        sql.Add(' and ZdyName=''' + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) + '''');
        sql.Add(' and note=''' + Trim(ClientDataSet1.fieldbyname('note').AsString) + '''');
        Open;
      end;
      if ADOQueryTemp.IsEmpty = False then
      begin
        if ADOQueryTemp.RecordCount > 1 then
        begin
          ADOQueryCmd.Connection.RollbackTrans;

              //ClientDataSet1.EnableControls;
          Application.MessageBox('名称重复！', '提示', 0);
          Exit;
        end;
        if Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) = '' then
        begin
          ADOQueryCmd.Connection.RollbackTrans;
              //ClientDataSet1.EnableControls;
          Application.MessageBox('名称重复！', '提示', 0);
          Exit;
        end
        else
        begin
          if Trim(ADOQueryTemp.fieldbyname('ZdyNo').AsString) <> Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) then
          begin
            ADOQueryCmd.Connection.RollbackTrans;
                //ClientDataSet1.EnableControls;
            Application.MessageBox('名称重复！', '提示', 0);
            Exit;
          end;
        end;
      end;
      with ADOQueryCmd do
      begin
        Close;
        sql.Clear;
        SQL.Add('delete KH_ZDY where ZDYNO=''' + Trim(ClientDataSet1.fieldbyname('ZDYNO').AsString) + '''');
        ExecSQL;
      end;
      with ADOQueryCmd do
      begin
        Close;
        sql.Clear;
        sql.Add('select * from KH_ZDY where 1<>1');
        Open;
      end;
      ADOQueryCmd.Append;
      ADOQueryCmd.FieldByName('ZDYNo').Value := Trim(maxno);
      ADOQueryCmd.FieldByName('ZDYName').Value := ClientDataSet1.fieldbyname('ZDYName').AsString;
      ADOQueryCmd.FieldByName('note').Value := Trim(snote);
          //ADOQueryCmd.FieldByName('orderno').Value:=ClientDataSet1.fieldbyname('Name').AsString;
      ADOQueryCmd.FieldByName('Type').Value := flag;
      ADOQueryCmd.FieldByName('valid').Value := 'Y';
      if Trim(MainType) <> '' then
        ADOQueryCmd.FieldByName('MainType').Value := Trim(MainType);
          //ADOQueryCmd.FieldByName('sel').Value:=0;
      ADOQueryCmd.Post;
      ClientDataSet1.Edit;
      ClientDataSet1.FieldByName('ZDYNo').Value := Trim(maxno);
          //ClientDataSet1.Post;
         // Next;
        //end;
      //end;
     // ClientDataSet1.EnableControls;
    end;
    ADOQueryCmd.Connection.CommitTrans;
    //Application.MessageBox('保存成功！','提示',0);
    //TV1.OptionsData.Editing:=False;
    //TV1.OptionsSelection.CellSelect:=False;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    Application.MessageBox('保存失败！', '提示', 0);
  end;
end;

procedure TfrmZDYHelp_P.V1OrderNoPropertiesEditValueChanged(Sender: TObject);
var
  mvalue: string;
begin
  if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) = '' then
  begin
    Application.MessageBox('名称不能为空!', '提示', 0);
    Exit;
  end;
  mvalue := TcxTextEdit(Sender).EditingText;
  if Trim(mvalue) = '' then
  begin
    mvalue := '0';
  end;
  with ClientDataSet1 do
  begin
    Edit;
    FieldByName('OrderNo').Value := mvalue;
    Post;
  end;
  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add('Update KH_Zdy Set OrderNo=' + mvalue);
    sql.Add(' where ZdyNo=''' + Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) + '''');
    ExecSQL;
  end;
end;

procedure TfrmZDYHelp_P.V1NotePropertiesEditValueChanged(Sender: TObject);
var
  mvalue: string;
begin
  if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) = '' then
  begin
    Application.MessageBox('名称不能为空!', '提示', 0);
    Exit;
  end;
  mvalue := TcxTextEdit(Sender).EditingText;
  if Trim(mvalue) = '' then
  begin
    mvalue := '';
  end;
  with ClientDataSet1 do
  begin
    Edit;
    FieldByName('Note').Value := mvalue;
    Post;
  end;
  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add('Update KH_Zdy Set Note=''' + Trim(mvalue) + '''');
    sql.Add(' where ZdyNo=''' + Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) + '''');
    ExecSQL;
  end;
end;

procedure TfrmZDYHelp_P.V1Column1PropertiesEditValueChanged(Sender: TObject);
var
  mvalue: string;
  fieldname: string;
begin
  fieldname := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
  if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) = '' then
  begin
    Application.MessageBox('名称不能为空!', '提示', 0);
    Exit;
  end;
  mvalue := TcxTextEdit(Sender).EditingText;
  with ClientDataSet1 do
  begin
    Edit;
    FieldByName(fieldname).Value := mvalue;
    Post;
  end;
  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add('Update KH_Zdy Set ' + fieldname + '=''' + Trim(mvalue) + ''' ');
    sql.Add('where ZdyNo=''' + Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) + '''');
    ExecSQL;
  end;
end;

procedure TfrmZDYHelp_P.V1HelpTypePropertiesEditValueChanged(Sender: TObject);
var
  mvalue: string;
begin
  if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) = '' then
  begin
    Application.MessageBox('名称不能为空!', '提示', 0);
    Exit;
  end;
  mvalue := TcxTextEdit(Sender).EditingText;
  if Trim(mvalue) = '' then
  begin
    mvalue := '0';
  end;
  with ClientDataSet1 do
  begin
    Edit;
    FieldByName('HelpType').Value := mvalue;
    Post;
  end;
  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add('Update KH_Zdy Set HelpType=''' + Trim(mvalue) + '''');
    sql.Add(' where ZdyNo=''' + Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) + '''');
    ExecSQL;
  end;
end;

procedure TfrmZDYHelp_P.FormDestroy(Sender: TObject);
begin
  inherited;
  WriteCxGrid('自定义' + Trim(flag), TV1, '自定义数据');
  frmZDYHelp_P := nil;

end;

end.

