利用GridView显示主细表并添加删除、打开、关闭功能(续)

来源:互联网 发布:mac版下载软件 编辑:程序博客网 时间:2024/06/08 02:15

aspx

<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!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 id="Head1" 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="780px"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"HorizontalAlign="left" DataKeyNames="id" AutoGenerateDeleteButton="true" OnRowCommand="DetailGridView_RowCommand"OnRowDeleting="DetailGridView_RowDeleting" Width="720px"><HeaderStyle BackColor="#9999FF" /><Columns><asp:TemplateField HeaderText="文章名称" HeaderStyle-Width="540px"><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日}"HeaderStyle-Width="100px" ItemStyle-HorizontalAlign="Center" /><asp:CommandField DeleteText="删除" ShowDeleteButton="true" ButtonType="Button" HeaderStyle-Width="40px" /></Columns></asp:GridView></div></ItemTemplate></asp:TemplateField></Columns></asp:GridView></form></body></html>

C#

using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Data.OleDb;using System.Web.UI.HtmlControls;public partial class Default2 : System.Web.UI.Page{string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|/aspxWeb.mdb;Persist Security Info=True";OleDbConnection cn1;protected void Page_Load( object sender, EventArgs e ){if (!Page.IsPostBack){OleDbConnection cn = new OleDbConnection(ConnectionString);cn.Open();cn1 = new OleDbConnection(ConnectionString);cn1.Open();OleDbCommand cmd = new OleDbCommand("select * from [Subject]", cn);OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);MasterGridView.DataSource = dr;MasterGridView.DataBind();dr.Close();cmd.Dispose();cn.Dispose();cn1.Dispose();cn = cn1 = null;}}protected void MasterGridView_RowDataBound( object sender, GridViewRowEventArgs e ){if (e.Row.RowType == DataControlRowType.DataRow){GridView oGridView = (GridView)e.Row.FindControl("DetailGridView");if (oGridView != null){OleDbCommand cmd = new OleDbCommand("select top 10 * from Document Where pid = " + MasterGridView.DataKeys[e.Row.RowIndex].Value, cn1);OleDbDataReader dr1 = cmd.ExecuteReader();oGridView.DataSource = dr1;oGridView.DataBind();dr1.Close();cmd.Dispose();}}}protected void DetailGridView_RowDeleting( object sender, GridViewDeleteEventArgs e ){GridView a = (GridView)sender;Response.Write("您要删除的记录是:<font color='red'>" + a.DataKeys[e.RowIndex].Value.ToString() + "</font>    TODO:执行删除动作");// TODO:执行删除动作}protected void DetailGridView_RowCommand( object sender, GridViewCommandEventArgs e ){}}

注意:EnableViewState="true" 是必须的。

 
原创粉丝点击