欢迎光临
我们一直在努力

显示和隐藏DataGrid中的列-.NET教程,数据库应用

建站超值云服务器,限时71元/月

要显示和隐藏datagrid中的列,最关键的是autogeneratecolumns设置为false:下面就是实现这一功能的aspx代码和脚本代码:

<%@ page language="vb" autoeventwireup="false" codebehind="showhidecols.aspx.vb"

inherits="aspxweb.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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 显示和隐藏DataGrid中的列-.NET教程,数据库应用
分享到: 更多 (0)

相关推荐

  • 暂无文章