unit U_ZDYHelp;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
  cxDataStorage, cxEdit, DB, cxDBData, ToolWin, ComCtrls,
  cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
  cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, ImgList,
  StdCtrls, ExtCtrls, cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu,
  cxLookAndFeels, cxLookAndFeelPainters, cxNavigator;

type
  TfrmZDYHelp = class(TForm)
    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: TEdit;
    ThreeImgList: TImageList;
    Label2: TLabel;
    cxGridPopupMenu1: TcxGridPopupMenu;
    V1ZdyFlag: TcxGridDBColumn;
    V1HelpType: TcxGridDBColumn;
    V1Note1: TcxGridDBColumn;
    ToolButton2: TToolButton;
    V1ZdyStr1: TcxGridDBColumn;
    V1ZdyStr2: 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 ZDYNameChange(Sender: TObject);
    procedure V1NamePropertiesEditValueChanged(Sender: TObject);
    procedure V1OrderNoPropertiesEditValueChanged(Sender: TObject);
    procedure V1NotePropertiesEditValueChanged(Sender: TObject);
    procedure V1Column1PropertiesEditValueChanged(Sender: TObject);
    procedure V1HelpTypePropertiesEditValueChanged(Sender: TObject);
    procedure V1Note1PropertiesEditValueChanged(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure V1ZdyStr1PropertiesEditValueChanged(Sender: TObject);
  private
    procedure InitGrid();
    { Private declarations }
  public
    flag,flagname,snote,MainType:string;
    fnote,forderno,fZdyFlag,ViewFlag,fnote1:Boolean;
    PPSTE:integer;
    { Public declarations }
  end;

var
  frmZDYHelp: TfrmZDYHelp;

implementation
uses
  U_DataLink,U_RTFun;

{$R *.dfm}

procedure TfrmZDYHelp.FormCreate(Sender: TObject);
begin
  try
    cxGrid1.Align:=alClient;
    with ADOConnection1 do
    begin
      Connected:=false;
      ConnectionString:=DConString;
      //ConnectionString:='';
      Connected:=true;
    end;
  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; }
    
    frmZDYHelp.Free;
  end;
end;

procedure TfrmZDYHelp.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  WriteCxGrid('�Զ���'+Trim(flag),TV1,'�Զ�������');
  ZDYName.SetFocus;
  Action:=caFree;
end;

procedure TfrmZDYHelp.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;
    SCreateCDS20(ADOQueryMain,ClientDataSet1);
    SInitCDSData20(ADOQueryMain,ClientDataSet1);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmZDYHelp.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.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('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.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.TBCloseClick(Sender: TObject);
begin
  ModalResult:=2;
  ZDYName.SetFocus;
  WriteCxGrid('�Զ���'+Trim(flag),TV1,'�Զ�������');
  Close;
end;

procedure TfrmZDYHelp.FormShow(Sender: TObject);
var
  fsj,fsj1:string;
begin
  {if PPSTE=1 then
  begin
    Application.Terminate;
    Exit;
  end; }
  InitGrid();
  fsj:=Trim(flag)+'01';
  fsj1:=Trim(flagname)+'01';
  {if ClientDataSet1.IsEmpty then
  begin
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('insert into KH_ZDY(ZDYNo,ZDYname,Type,note)');
      sql.Add('select '''+Trim(fsj)+'''');
      sql.Add(','''+Trim(fsj1)+'''');
      SQL.Add(','''+Trim(flag)+'''');
      sql.Add(','''+Trim(snote)+'''');
      ExecSQL;
    end;
    InitGrid();
  end;}
  //frmZDYHelp.Caption:=Trim(flagname)+'<'+Trim(flag)+'>';
  //ReadCxGrid('�Զ���',TV1,'�Զ�������');
  ReadCxGrid('�Զ���'+Trim(flag),TV1,'�Զ�������');
  frmZDYHelp.Caption:=Trim(flagname);
  V1Note.Visible:=fnote;
  V1Note1.Visible:=fnote1;
  V1ZdyFlag.Visible:=fZdyFlag;
  V1OrderNo.Visible:=forderno;
  if ViewFlag=True then
  begin
    TBAdd.Visible:=False;
    TBSave.Visible:=False;
    TBDel.Visible:=False;
    TBEdit.Visible:=False;
    Label2.Visible:=False;
  end;
end;

procedure TfrmZDYHelp.ToolButton1Click(Sender: TObject);
begin
  ZDYName.SetFocus;
  WriteCxGrid('�Զ���'+Trim(flag),TV1,'�Զ�������');
  ModalResult:=1;
end;

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

procedure TfrmZDYHelp.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.ZDYNameChange(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);
    SCreateCDS20(ADOQueryMain,ClientDataSet1);
    SInitCDSData20(ADOQueryMain,ClientDataSet1);
  end;
end;

procedure TfrmZDYHelp.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('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').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.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.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.V1Column1PropertiesEditValueChanged(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('ZdyFlag').Value:=StrToInt(mvalue);
    Post;
  end;
  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add('Update KH_Zdy Set ZdyFlag='+Trim(mvalue));
    sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
    ExecSQL;
  end;
end;

procedure TfrmZDYHelp.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.V1Note1PropertiesEditValueChanged(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('Note1').Value:=mvalue;
    Post;
  end;
  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add('Update KH_Zdy Set Note1='''+Trim(mvalue)+'''');
    sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
    ExecSQL;
  end;
end;

procedure TfrmZDYHelp.ToolButton2Click(Sender: TObject);
begin
  TcxGridToExcel(Trim(flagname)+'�б�',cxGrid1);
end;

procedure TfrmZDYHelp.V1ZdyStr1PropertiesEditValueChanged(Sender: TObject);
var
  mvalue,FName: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;
  FName:=TV1.Controller.FocusedColumn.DataBinding.FilterFieldName;
  with ClientDataSet1 do
  begin
    Edit;
    FieldByName(FName).Value:=mvalue;
    Post;
  end;
  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add('Update KH_Zdy Set '+FName+'=');
    sql.Add(''''+Trim(mvalue)+'''');
    sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
    ExecSQL;
  end;
end;

end.