procedure TFrmOEMC.Button5Click(Sender: TObject);
var
  ExpClass:TDBGridEhExportClass;
  Ext:String;
begin
  SaveDialog1.FileName := 'file1';
  if (ActiveControl is TDBGridEh) then    if SaveDialog1.Execute then
    begin
      case SaveDialog1.FilterIndex of
        1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
        2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
        3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
        4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
        5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
      else
         ExpClass := nil; Ext := '';     end;
    if ExpClass <> nil then
    begin
      if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <> UpperCase(Ext) then
        SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
      SaveDBGridEhToExportFile(ExpClass,DBGridEh1,SaveDialog1.FileName,False);
      //其中false为局部数据
    end;
  end;
end;--窗体上放有dbgridEh1,SaveDialog1,点击button5以后没有反应?请指教

解决方案 »

  1.   

    Savedialog弹出了吗?
    试试在开头的use里加上:DBGridEhImpExp
      

  2.   

    if   SaveDialog1.Execute   then 
    begin 
      if   (ActiveControl   is   TDBGridEh)   then
      ..
    倒过来试试 
      

  3.   

    应该在开头的use里加上:DBGridEhImpExp
      

  4.   

    把这句去掉
    if   (ActiveControl   is   TDBGridEh)   then 当你按“按钮”时, 你的ActiveControl 就是按钮了, 不是DBGridEh控件,所以不执行操作 。
      

  5.   

    走捷径把,去下载DateToExcel组件,什么TDBGridEh、数码TDBGrid都可以导出去的,而且很方便。
      

  6.   

    这是DBGridEH用法说明的一例子,楼主直接拷来了。
    在use里加上:DBGridEhImpExp,还要添加SaveDialog组件的。