本帖最后由 ldjssoft 于 2013-11-13 11:08:41 编辑

解决方案 »

  1.   

    var
      i, j: integer;
    begin
      for i:=0 to Self.ControlCount - 1 do
      begin
        if Self.Controls[1] is tdbgrideh then
        begin
          for j := 0 to TDBGridEh(Self.Controls[1]).Columns.Count - 1 do
          begin
            if ... then
            begin
              TDBGridEh(Self.Controls[1]).Columns[j].Visible := False;
            end;
          end;
        end;
      end;
    end;
      

  2.   

    做一个ini给客户配置啦,列的显示不显示楼上很清楚了
    if ... then
    判断的看Ini了
      

  3.   

    或者改写dbgrid,右键点击的时候弹出菜单,让自己选择是否显示某些列,当然也是写ini或注册表或数据库
      

  4.   

    楼主,能告下单列怎么隐藏了,我怎么设置都不起作用
    spdbgrid1.Columns.Grid.Fields[0].Visible:=false;
         
         spdbgrid1.Columns[0].Visible:=false;