DBGridEh,如何通过字段名查找列?设置列可见不可见,
原来是这样写的,
DBgridEh1.columns[0].Visible:=true;
DBgridEh1.columns[1].Visible:=false;
现在想改成
DBgridEh1.columns[字段名A].Visible:=true;
DBgridEh1.columns[字段名B].Visible:=false;
请大家帮忙!

解决方案 »

  1.   


    没有FindColumn这个函数啊?
      

  2.   

    var
      i: integer;
    begin
      for i := 0 to DBgridEh1.columns.count - 1 do
      begin
        if DBgridEh1.columns[i].FieldName = '你想要的' then
          DBgridEh1.columns[i].Visible := True;
      end;
      

  3.   

    身边没环境,试一下
    DBgridEh1.columns[adoquery1.fieldsbyname( '字段名A').FieldNo].Visible:=true;
      

  4.   

    是的,自己封装一个函数吧
    现版本DBgridEh没有直接找列的方法,只能通过循环对比得到
      

  5.   

    完全可以这样写的,一试便知!DBgridEh1.columns['字段名A'].Visible:=true;
    DBgridEh1.columns['字段名B'].Visible:=false;
    DBgridEh1.columns['name'].Visible:=false;
      

  6.   

    哈哈,刚才少写了一些东西,这次对了DBgridEh1.FieldColumns['字段名A'].Visible:=true;
    DBgridEh1.FieldColumns['字段名B'].Visible:=false;
    DBgridEh1.FieldColumns['name'].Visible:=false;
    :