包括设置columns的fields以及title中的各个属性,
和动态显示查询到的数据,我在程序中这样设置:
DBGrid1.Columns.Items[0].Expanded :=False;
DBGrid1.Columns.Items[0].FieldName :='aaaa';
DBGrid1.Columns.Items[0].Title.caption := 'bbbb';
DBGrid1.Columns.Items[0].Visible :=True;
但是运行时不显示bbbb,而是显示aaaa

解决方案 »

  1.   

    你双击你的dbgrid然后增加一个Tcolumn
    然后再执行你的代码就可以了
      

  2.   

    呵呵,不小心在这些语句中前面添加了一句DBGrid1.Columns.clear,但是再添加下面的语句时:
    DBGrid1.Columns.Items[1].Expanded :=False;
    DBGrid1.Columns.Items[1].FieldName :='aaaa';
    DBGrid1.Columns.Items[1].Title.caption := 'bbbb';
    DBGrid1.Columns.Items[1].Visible :=True
    出现List Index out of bounds错误,
    在哪里设置columns的items的项数的?
      

  3.   

    因为你的columns只有1个
    所以要用DBGrid1.Columns.Items[0]
    你的错误是越界
    是从0开始看你有几个固有的字段
      

  4.   

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    with dbgrid1.Columns.Add do
    begin
     Expanded :=False;
     FieldName :='B0103';
     Title.caption := 'bbbb';
     width := 100;
     Visible :=True;
    end;上面是我调试过的动态添加字段的完整代码;楼主可以试试看;
    end;