确定你已经成功创建列,否则提示index超出范围。
DataGrid1.Columns(3).Visible = False

解决方案 »

  1.   

    do it in either ItemCreated or ItemDataBound event handler
     <asp:DataGrid id="MyDataGrid" runat="server"     
               OnItemCreated="ItemCreated" ...>public void ItemCreated(Object sender, DataGridItemEventArgs e)
    { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
    ListItemType.AlternatingItem)
        { 
              e.Item.Cells[2].Visible = false;
         }
    }
      

  2.   

    感谢saucer,但header,footer没有一起消失?必须分别隐藏吗?
      

  3.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    e.Item.Cells[2].Visible=false;
    }