将DataGrid中的列显示或隐藏_[Asp.Net教程]
 显示和隐藏DataGrid中的列,主要是将AutoGenerateColumns设置为False:下面就是实现这一功能的ASPx文件和脚本代码:  
 <%@ Page Language="
VB" AutoEventWireup="false" Codebehind="ShowHideCols.ASPx.vb" 
 Inherits="aspx
Web.ShowHideCols"%>        
ShowHideCols  .net 7.0">  
  JavaScript">  
             后台代码:  
 Imports System.Data 
 Imports System.Data.OleDb  
 Public Class ShowHideCols 
 Inherits System.Web.UI.Page 
 Protected WithEvents btnShow As System.Web.UI.WebControls.Button 
 Protected WithEvents btnHide As System.Web.UI.WebControls.Button 
 Protected WithEvents dtgCusts As System.Web.UI.WebControls.DataGrid  
 #Region " Web 窗体设计器生成的代码 "  
 ’该调用是 Web 窗体设计器所必需的。  
 Private Sub InitializeComponent() 
 
 End Sub 
 
 Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs)_ 
 Handles MyBase.Init 
 ’CODEGEN: 此方法调用是 Web 窗体设计器所必需的 
 ’不要使用代码编辑器修改它。 
 InitializeComponent() 
 End Sub 
 
 #End Region 
 
 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)_ 
 Handles MyBase.Load 
 ’在此处放置初始化页的用户代码 
 btnShow.Text = "显示列" 
 btnHide.Text = "隐藏列" 
 dtgCusts.Columns(1).HeaderText = "" 
 dtgCusts.Columns(0).HeaderText = "标题" 
 dtgCusts.Columns(2).HeaderText = "发布日期" 
 dtgCusts.Columns(3).HeaderText = "编辑" 
 If Not IsPostBack Then 
 BindTheData() 
 End If 
 End Sub 
 
 Sub BindTheData() 
 Dim objConn As OleDbConnection 
 Dim objCmd As OleDbCommand 
 objConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _ 
 + Server.MapPath("Test.mdb")) 
 Dim strSql As String 
 strSql = "SELECT Top 10 id,Title,CreateDate FROM Document" 
 objCmd = New OleDbCommand(strSql, objConn) 
 objConn.Open() 
 dtgCusts.DataSource = objCmd.ExecuteReader() 
 dtgCusts.DataBind() 
 objConn.Close() 
 objConn.Dispose() 
 End Sub 
 Sub ShowDetails(ByVal sender As System.Object, ByVal e As System.EventArgs) 
 Dim intCounter As Integer 
 For intCounter = 1 To dtgCusts.Columns.Count - 1 
 dtgCusts.Columns(intCounter).Visible = True 
 Next 
 End Sub 
 
 Sub HideDetails(ByVal sender As System.Object, ByVal e As System.EventArgs) 
 Dim intCounter As Integer 
 For intCounter = 1 To dtgCusts.Columns.Count - 1 
 dtgCusts.Columns(intCounter).Visible = False 
 Next 
 End Sub 
 
 End Class