动态修改DBGrid 的显示字段名,怎么弄?
打开了一个数据库的一个数据表,比如字段名为:id,dat1,dat2,dat3,dat4,dat5然后使用2个字符串来控制
第一个字符串就是要显示那些字段,如:id,dat2,dat3,dat1,dat4
第二个字符串就是显示的内容,如:编号,年龄,班级,成绩最后显示到程序中就是:
编号   年龄     班级      成绩   dat4
1       12       5         80     7
3       13       6         90     6
4       11       5         80     9
能给一点代码最好,谢谢

解决方案 »

  1.   


    procedure TForm17.FormCreate(Sender: TObject);
    const
      Arr1 : array[0..4] of string = ('dt', 'dt1', 'dt2', 'dt3', 'dt4');
      Arr2 : array[0..3] of string = ('编号', '姓名', '性别', '成绩');
    var
      i : Integer;
    begin
      with gdv do
      begin
        for i := 0 to Length(Arr1) - 1 do
        begin
          if i < Length(Arr2) then
          gdv.Columns[i].Caption := Arr2[i]
          else
            Columns[i].Caption := Arr1[i];
        end;
      end;
    end;
      

  2.   

    你SQL语句中不把那几个字段读出来
    或者如果你需要隐藏的字段名的位置是固定的,如:都是第三个和第四个
    你可以在Delphi代码中把grid的相应列的Visible设为False
      

  3.   

    设置grid字段罗,想显示什么字段就设置什么字段,select语句可以全部select都可以的
      

  4.   

    用adoquery控件灵活多了...  
      

  5.   

    嗯,通过在Select语句中指定字段别名,也就不需要我先前的那些代码了。而且这样还更加方便设置grid各列的显示与否。