·天新网首页·加入收藏·设为首页
首页|笔记本|手机|数码相机|摄像机|MP3/MP4|主板|内存|显示器|办公|打印机|下载|开发|汽车|学院|业界
硬件|台式机|数码|数字家庭|投影仪|GPS/CPU|显卡|硬盘|服务器|网络|一体机|驱动|源码|游戏|考试|报价
您现在的位置:天新网 > 软件开发 > .Net开发 > ASP.NET
显示和隐藏DataGrid中的列
http://dev.21tx.com 2003年05月04日 【孟宪会之精彩世界】 孟宪会

要显示和隐藏DataGrid中的列,最关键的是AutoGenerateColumns设置为False:下面就是实现这一功能的ASPx代码和脚本代码:

<%@ Page Language="<a href="http://dev.21tx.com/language/vb/" target="_blank">VB</a>" AutoEventWireup="false" Codebehind="ShowHideCols.aspx.vb" Inherits="aspx<a href="http://dev.21tx.com/web/" target="_blank">Web</a>.ShowHideCols"%> <!DOCTYPE html PUBLIC "-//W3C//DTD html 4.0 Transitional//EN"> <HTML> <HEAD> <title>ShowHideCols</title> <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0"> <meta name="CODE_LANGUAGE" content="Visual Basic 7.0"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <asp:Button ID="btnShow" Text="Show Details" OnClick="ShowDetails" Runat="server" /> <asp:Button ID="btnHide" Text="Hide Details" OnClick="HideDetails" Runat="server" /> <asp:DataGrid ID="dtgCusts" Runat="server" AutoGenerateColumns="False" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="3" GridLines="Vertical"> <Columns> <asp:BoundColumn DataField="Title" /> <asp:BoundColumn DataField="id" Visible="False" /> <asp:BoundColumn DataField="CreateDate" DataFormatString="{0:yyyy-MM-dd HH:mm:ss}" Visible="False" /> <asp:EditCommandColumn EditText="Edit" HeaderText="Edit" Visible="False" /> </Columns> <AlternatingItemStyle BackColor="#DCDCDC" /> <ItemStyle ForeColor="Black" BackColor="#EEEEEE" /> <headerStyle Font-Bold="True" ForeColor="White" BackColor="#000084" /> </asp:DataGrid> </form> </body> </HTML>

后代码脚本

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 窗体设计器所必需的。 <System.Diagnostics.DebuggerStepThrough()> 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

查看例子

上一篇: 在ASP.NET中动态创建柱状图和饼图
下一篇: 在DataGrid中为Footer添加自定义内容

Google
 
热点文章
关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
© 晨新科技 版权所有 Created by TXSite.net