20分请教 ,如何在程序运行时增加dbgrid控件的显示字段﹐并将该字段关联某一数据集我的一个通用查询窗口﹐其有dbgrid, datasource ,adoquery 三个控件相联 ﹐
因该窗口根据传递的参数来确定该显示什么数据﹐然后在adoquery 中构造该sql语句 ﹐故dbgrid 中的字段开始是没有的﹐须动态的增加﹐ 请高手讲解一下﹐
如果adoquery 中sql为select a,b  from kk 时 ﹐如何在dbgrid中增加其两个栏拉﹐使知显示a,b栏数据。请详解﹐分不够再加。。

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    Var
      CLM:Tcolumn;
    begin
       DBGrid1.DataSource:=DataSource1;
       Clm:=DBGrid1.Columns.Add;
       Clm.Title.caption:='a';
       Clm.FieldName:='Account';
       Table1.Open;
    end;
    看看是否有帮助
      

  2.   

    Return above :
    case sele of
    coa:  //会计科目查询
          begin
            adoquery.SQL.Clear ;
            adoquery.SQL.CommaText := 'select acct,descript from dbo.coa'  ;
            adoquery.Active :=true ;
            adoquery.Open   ;
            showmessage(inttostr(adoquery.FieldCount)) ; //此处测试﹐结果为1
          end;
    end  ;
    上面代码中﹐我的adoquery返回的fieldcount 是应为acct,descript两个﹐但为何adoquery.fieldcount 的值为1呢﹐以致我的dbgrid中只显示acct的值 ﹐不知哪里出了问题。。