利用GridView显示主细表并一次编辑明细表所有数据的例子

全部代码如下:

ASPX:

<% @PageLanguage = " C# " ValidateRequest = " false " AutoEventWireup = " true " EnableViewState = " false "
CodeFile
= " Default2.aspx.cs " Inherits = " Default2 " %>

<! DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//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" OnRowCommand ="DetailGridView_RowCommand"
OnRowDeleting
="DetailGridView_RowDeleting" Width ="720px" >
< HeaderStyle BackColor ="#9999FF" />
< Columns >
< asp:TemplateField HeaderText ="文章名称" HeaderStyle-Width ="540px" >
< ItemTemplate >
< input name ="guid" value ="<%#Eval(" id")% > "type="hidden"/>
< input name ="Title<%#Eval(" id")% > "value=" <% # Eval ( " Title " ) %> "style="width:100%;border:1pxsolidgray"/>
</ ItemTemplate >
</ asp:TemplateField >
< asp:TemplateField HeaderText ="发布日期" HeaderStyle-Width ="100px" ItemStyle-HorizontalAlign ="Center" >
< ItemTemplate >
< input name ="Date<%#Eval(" id")% > "value=" <% #((DateTime) Eval ( " CreateDate " )).ToString( " yyyy-MM-dd " ) %> "style="border:1pxsolidgray"/>
</ ItemTemplate >
</ asp:TemplateField >
</ Columns >
</ asp:GridView >
</ div >
</ ItemTemplate >
</ asp:TemplateField >
</ Columns >
</ asp:GridView >
< asp:Button ID ="Button1" runat ="server" OnClick ="Button1_Click" Text ="编辑所有数据" />
</ 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;DataSource=|DataDirectory|aspxWeb.mdb;PersistSecurityInfo=True " ;
OleDbConnectioncn1;


protected void Page_Load( object sender,EventArgse)
{
if ( ! Page.IsPostBack)
{
OleDbConnectioncn
= new OleDbConnection(ConnectionString);
cn.Open();
cn1
= new OleDbConnection(ConnectionString);
cn1.Open();
OleDbCommandcmd
= new OleDbCommand( " select*from[Subject] " ,cn);
OleDbDataReaderdr
= 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,GridViewRowEventArgse)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{

GridViewoGridView
= (GridView)e.Row.FindControl( " DetailGridView " );
if (oGridView != null )
{
OleDbCommandcmd
= new OleDbCommand( " selecttop10*fromDocumentWherepid= " + MasterGridView.DataKeys[e.Row.RowIndex].Value,cn1);
OleDbDataReaderdr1
= cmd.ExecuteReader();
oGridView.DataSource
= dr1;
oGridView.DataBind();
dr1.Close();
cmd.Dispose();
}
}
}

protected void DetailGridView_RowDeleting( object sender,GridViewDeleteEventArgse)
{
GridViewa
= (GridView)sender;
Response.Write(
" 您要删除的记录是:<fontcolor='red'> " + a.DataKeys[e.RowIndex].Value.ToString() + " </font>&nbsp;&nbsp;&nbsp;&nbsp;TODO:执行删除动作 " );
// TODO:执行删除动作
}
protected void DetailGridView_RowCommand( object sender,GridViewCommandEventArgse)
{

}
protected void Button1_Click( object sender,EventArgse)
{
string Guids = Request.Form[ " guid " ];
if (Guids == null || Guids.Equals( string .Empty))
{
Response.Write(
" 没有数据可以修改。 " );
return ;
}
string sql;
OleDbCommandcmd;
OleDbConnectioncn
= new OleDbConnection();
cn.ConnectionString
= ConnectionString;
cn.Open();
string []ArrGuid = Guids.Split( ' , ' );
for ( int i = 0 ;i < ArrGuid.Length;i ++ )
{
sql
= " UPDATEDocumentSetTitle=@Title,CreateDate=@CreateDateWhereid=@id " ;
cmd
= new OleDbCommand(sql,cn);
cmd.Parameters.AddWithValue(
" @Title " ,Request.Form[ " Title " + ArrGuid[i].Trim()]);
cmd.Parameters.AddWithValue(
" @CreateDate " ,Request.Form[ " Date " + ArrGuid[i].Trim()]);
cmd.Parameters.AddWithValue(
" @id " ,ArrGuid[i].Trim());
cmd.ExecuteNonQuery();
Response.Write(
" <li>更新:id= " + ArrGuid[i] + " " + Request.Form[ " Title " + ArrGuid[i].Trim()]);
}
cn.Close();
cn.Dispose();
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值