当前位置: 移动技术网 > IT编程>开发语言>.net > 如何在DataGrid控件中隐藏列

如何在DataGrid控件中隐藏列

2018年11月08日  | 移动技术网IT编程  | 我要评论

3DMO,虐杀原形2 野外小队,dr reborn

前言:
.net在提供我们丰富的内置控件方便我们开发的同时,一些格式化的东西也限制了我们灵活的要求。在datagrid控件中,我们遇到的一个非常典型的问题就是如何把我们不想显示的列根据需要随时隐藏掉。
解决方案:
我们不能隐藏在datagrid里自动生成列的主要的一点原因是:datagrid里的column不能被datagrid的属性datagridcolumn增加。
基于以上原因,我们可以提出两种不同的方案来解决这个问题。
方案一:
根据页面请求的事件来隐藏列:
代码:
<%@ page language="vb" %>
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.sqlclient" %>
<html>
<script runat="server">
sub page_load(sender as object, e as eventargs)
dim myconnection as sqlconnection = new _
sqlconnection("data source=(local)netsdk; trusted_connection=yes;_ initial catalog=pubs")
dim mycommand as sqlcommand = new sqlcommand("select * from_ publishers",myconnection)

myconnection.open()
mydatagrid.datasource = mycommand.executereader_ (commandbehavior.closeconnection)
mydatagrid.databind()
end sub
sub hideshow_click(sender as object, e as eventargs)
if mydatagrid.columns(0).visible = false then
mydatagrid.columns(0).visible = true
else
mydatagrid.columns(0).visible = false
end if
end sub
</script>
<body>
<form runat="server">
<asp:datagrid id="mydatagrid" width="25%" autogeneratecolumns="false" runat="server">
<columns>
<asp:templatecolumn headertext="publishers id">
<itemtemplate>
<span><%# container.dataitem("pub_id") %></span>
</itemtemplate>
</asp:templatecolumn>
<asp:templatecolumn headertext="publishers name">
<itemtemplate>
<span><%# container.dataitem("pub_name") %></span>
</itemtemplate>
</asp:templatecolumn>
<asp:templatecolumn headertext="city">
<itemtemplate>
<span><%# container.dataitem("city") %></span>
</itemtemplate>
</asp:templatecolumn>
<asp:templatecolumn headertext="state">
<itemtemplate>
<span><%# container.dataitem("state") %></span>
</itemtemplate>
</asp:templatecolumn>
<asp:templatecolumn headertext="country">
<itemtemplate>
<span><%# container.dataitem("country") %></span>
</itemtemplate>
</asp:templatecolumn>
</columns>
</asp:datagrid>
<asp:button id="hideshow" text="hide/show" onclick="hideshow_click" runat="server" />
</form>
</body>
</html>
程序执行执行演示:
show:

(图show)
hide

(图hide)
方案二:

方案二实际上是一的变通,我就简单的介绍一下。在一中我们通过button的onclick事件来判断是show还是hide,那么我们也可以通过联接获取参数的值来做判断。
代码:
<%@ page language="vb"%>
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.sqlclient" %>
<html>
<script runat="server">
sub page_load(sender as object, e as eventargs)
dim myconnection as sqlconnection = new _
sqlconnection("data source=(local)netsdk; trusted_connection=yes;_ initial catalog=pubs")
dim mycommand as sqlcommand = new sqlcommand("select * from publishers",_ myconnection)

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网