打印

[asp.net教程] 显示和隐藏 datagrid中的列

显示和隐藏 datagrid中的列

要显示和隐藏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<a href="http://dev.21tx.com/dotnet/" target="_blank">.net</a> 7.0">
   <meta name="code_language" content="visual basic 7.0">
   <meta name="vs_defaultclientscript" content="<a href="http://dev.21tx.com/web/javascript/" target="_blank">javascript</a>">
   <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

TOP

返回顶部
AYBlue

Processed in 0.057939 second(s), 7 queries.

当前时区 GMT+8, 现在时间是 2009-1-10 11:27 京ICP备06054220号

清除 Cookies - 联系我们 - 163K.com - Archiver - WAP