记得advStringList有一个saveToAscii方法,为什么dbgrid没有了呢?

解决方案 »

  1.   

    //一个存为txt的例子
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      DBGridToTxt(DBGrid1);   //触发转换过程
    end;procedure TForm1.DBGridToTxt(Source: TObject);//自定义函数,转换过程,参数为数据源
    var
      Filename: TextFile; //将数据输入的目标文件
      DataSet: TDataSet;  //数据来源
      TitleStr,ValueStr,TempStr: String; //一些参数
      Counter: Integer;   //计数器
    begin
      if (Source is TDBGrid)then
        DataSet:=TDBGrid(Source).DataSource.DataSet
      else
        DataSet:=TDataSet(Source);
      if ((Dataset.IsEmpty) or (not Dataset.Active))then
        Exit
      else
      begin
        Dataset.DisableControls;
        Dataset.First;        //转到第一条记录
        if Savedialog1.Execute then //打开存盘文件对话框
        begin
          AssignFile(FileName,SaveDialog1.FileName);//指定文件名
          Rewrite(FileName);                        //建立并打开一新的文件
          TitleStr:='';
          for Counter:=0 to Dataset.FieldCount-1 do //输出各字段标示值
            TitleStr:=TitleStr+Char(9)+DataSet.Fields[Counter].DisplayLabel;
          TitleStr:=Trim(TitleStr);
          Writeln(FileName,TitleStr);
          while not Dataset.Eof do
          begin
            Valuestr:='';
            for Counter:=0 to DataSet.FieldCount-1 do
            begin
              TempStr:=DataSet.Fields[Counter].AsString;
              ValueStr:=ValueStr+Char(9)+TempStr;
            end;
            ValueStr:=Trim(ValueStr);
            Writeln(FileName,ValueStr);
            DataSet.Next;
          end;
          CloseFile(FileName);
        end;
        Dataset.EnableControls;
      end;
    end;
      

  2.   

    DBGrid是很早就有的Delphi标准控件。
    advStringGrid是第三方控件,而第三方控件正是为了增强标准控件的功能或者修改标准控件的不足而产生的,所以第三方控件有一些属性和方法在标准控件中没有,那是再正常不过的事情了。
    要实现你要的功能,要么自己写代码(试一下seasunsky(来来往往)的能不能满足你的要求),或者用第三方控件了,好像ehLib控件包的TDBGridEh控件有将数据保存为Excel文档的功能的
      

  3.   

    其实用 adodataset 和dbgrid columnname=cpation嵌套循环
      

  4.   

    EhLib 3.3 简体中文版
    --------------------排序功能使用方法:    1、TDBGridEh的OptionsEh/SghAutoSortMarking属性设置为:True;
        2、TDBGridEh.Columns[*]的Title/TitleButton属性设置为:True。为什么点击列标题的时候提示关键字order附近有语法错误?