当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > GridView显示主细表并添加打开、关闭功能

ASP.NET
asp.net 动态生成表格
asp.net 程序优化精选
DataGridView自动调整行高和行宽
asp.net+js实现的ajax sugguest搜索提示效果
asp.net 将设有过期策略的项添加到缓存中
asp.net SqlDataAdapter对象使用札记
DataGrid 动态添加模板列 实现代码
asp.net 设置GridView的选中行
the sourcesafe database has been locked by the administrator之解决方法
asp.net 退出登陆(解决退出后点击浏览器后退问题仍然可回到页面问题)
Asp.Net HttpHandler 妙用
ASP.NET 保留文件夹详解
asp.net 中将表单提交到另一页 Code-Behind(代码和html在不同的页面)
SqlDataSource 链接Access 数据
asp.net GridView的删除对话框的两种方法
asp.net 按字节检查包含全半角的文字
asp.net String.IsNullOrEmpty 方法
asp.net System.Net.Mail 发送邮件
c# 读取文件内容存放到int数组 array.txt
asp.net Split分割字符串的方法

ASP.NET 中的 GridView显示主细表并添加打开、关闭功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 189 ::
收藏到网摘: n/a

    本文例子使用嵌套的 GridView 来显示主细表,并使用 JavaScript 来控制明细表的显示与隐藏。值得注意的是:在 GridView 的 RowDataBound 的事件里,不要多次执行数据库的打开,否则,将很快会导致连接数已满的问题。
  
  例子中的数据库,请参照《 ASP.NET 2.0应用开发技术》一书中附带的光盘中的数据库。
  
  查看例子
  
  代码:
  
  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridViewNested.aspx.cs" Inherits="Exam_GridViewNested" %>
  
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
   <title>利用GridView显示主细表并添加打开、关闭功能</title>
   <style type="text/css">
   td,div,a {font-size:12px}
   </style>
  
   <script type="text/javascript">
   //<![CDATA[
   function ShowHidden(sid,ev)
   {
   ev = ev || window.event;
   var target = ev.target || ev.srcElement;
   var oDiv = document.getElementById("div" + sid);
   oDiv.style.display = oDiv.style.display == "none"?"block":"none";
   target.innerHTML = oDiv.style.display == "none"?"显示":"隐藏";
   }
   //]]>
   </script>
  
  </head>
  <body>
   <form id="form1" runat="server">
   <asp:GridView ID="MasterGridView" runat="server" AutoGenerateColumns="false" Width="760px"
   BorderWidth="1" OnRowDataBound="MasterGridView_RowDataBound" DataKeyNames="id"
   ShowHeader="false">
   <Columns>
   <asp:TemplateField>
   <ItemTemplate>
   <div style="width: 100%; padding: 2px; font-weight: bold; background-color: #DEDEDE;
   float: left">
   <span style="float: left">栏目名称:<%#Eval("Title") %></span><span style="float: right;
   color: Red; cursor: pointer" onclick="ShowHidden('<%#Eval("id") %>',event)">隐藏</span></div>
   <div style="background-color: #FFF; padding-left: 60px;clear:both" id="div<%#Eval("id") %>">
   <asp:GridView ID="DetailGridView" runat="server" AutoGenerateColumns="false" ShowHeader="true"
   Width="100%" HorizontalAlign="left">
   <HeaderStyle BackColor="#9999FF" />
   <Columns>
   <asp:TemplateField HeaderText="文章名称">
   <ItemTemplate>
   <a href="/article/<%#Eval("objectGuid") %>/read.aspx">
   <%#Eval("Title") %>
   </a>[<%# Eval("HitCount") %>]
   </ItemTemplate>
   </asp:TemplateField>
   <asp:BoundField HeaderText="发布日期" DataField="CreateDate" HtmlEncode="false" DataFormatString="{0:yyyy年MM月dd日}"
   ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" />
   </Columns>
   </asp:GridView>
   </div>
   </ItemTemplate>
   </asp:TemplateField>
   </Columns>
   </asp:GridView>
   </form>
  </body>
  </html>
  CS:
  
  using System;
  using System.Data;
  using System.Data.OleDb;
  using System.Configuration;
  using System.Collections;