本帖最后由 azhe 于 2010-12-21 00:32:02 编辑

解决方案 »

  1.   

    应该在dxDBGrid1的columns属性里面移除你不需要的列吧
      

  2.   

    dxDBGrid1.Clear;
    找找类似的方法
      

  3.   

        你应该去循环释放 dxDBGrid1中列,而不是去循环窗体中的控件!
       你创建的列是加在 dxDBGrid1中的,而不是窗体中
      

  4.   


    dxDBGrid1.ColumnByName('列的名称').Destroy;

    dxDBGrid1.Columns[列的索引].Destroy;
      

  5.   

    procedure TForm1.dxdbgridDeleteColumns;
    var
      i : Integer;
    begin
      for i := 0 to dxDBGrid1.ColumnCount - 1 do
        dxDBGrid1.Columns[0].Destroy;
    end;这段代码就可以删除掉动态生成的 列。之前也是这么写的,总是会报一个错误,后来发现是在dxdbgrid的dxDBGrid1CustomDraw事件里写过另外一段代码的原因。谢谢各位!