All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
修改Zend引擎实现PHP源码加密的原理及实践_php资料_编程技术
JS开发字典探测用户名或密码工具_JavaScript技术_编程技术
ASP.NET技巧-前台页面代码绑定后台程序变量_[Asp.Net教程]
delphi无类型文件
C#教程:线程同步
自定义分页控件源码asp.net(c#)_[Asp.Net教程]
ASP.Net环境下使用Jmail组件发送邮件_[Asp.Net教程]
SQL循序渐进(8)删除记录_[SQL,Server教程]
利用Rational对.NET程序进行建模_.net资料_编程技术
Delphi以树型显示的程序界面
Reading number is top 10 pictures
The real super beauty6
Sora aoi on twitter3
The little girl with long hair2
Sora aoi mirror memorial classics5
The Soviet union swimsuit exposure in the 70 year1
30 beautiful school beauty4
职场回春术
The little woman's bright wire3
俞敏洪在清华终于说了实话
赵惟依写真1
Download software ranking
Rio big adventure
Eclipse 4.2.1 For Win32
Unix video tutorial12
网页特效实例大全
传奇私服架设教程
C#COM编程指南
WebService在.NET中的实战应用教学视频 → 第3集
美女写真2
Boxer's Top ten classic battle10
Professional killers2 data package
delv published in(发表于) 2014/1/16 9:31:09 Edit(编辑)
利用GridView显示主细表并一次编辑明细表所有数据的例子_[Asp.Net教程]

利用GridView显示主细表并一次编辑明细表所有数据的例子_[Asp.Net教程]

利用GridView显示主细表并一次编辑明细表所有数据的例子_[Asp.Net教程]

前几天写了一个利用GridView显示主细表的例子,有网友询问如何一次编辑明细表数据所有数据?其实,如果对ASP.NET或者HTML比较熟悉的话,这种批量编辑数据的功能很容易实现。下面的例子使用隐藏表单域记录数据的标识id,对每个输入框的名字附加id信息,这样的话,数据对应起来比较简单。


例子中使用的数据库来自《ASP.NET 2.0 应用开发技术》一书。换成其它数据库也类似,看懂代码,怎么换就无妨了。


aspx:


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





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







BorderWidth="1" OnRowDataBound="MasterGridView_RowDataBound" DataKeyNames="id"
ShowHeader="false">




float: left">
栏目名称:<%#Eval("Title") %>onclick="ShowHidden('<%#Eval("id") %>',event)">隐藏


">
HorizontalAlign="left" DataKeyNames="id" OnRowCommand="DetailGridView_RowCommand"
OnRowDeleting="DetailGridView_RowDeleting" Width="720px">




" type="hidden" />
" value="<%#Eval("Title") %>" style="width: 100%;border:1px solid gray" />




" value="<%# ((DateTime)Eval("CreateDate")).ToString("yyyy-MM-dd") %>" style="border:1px solid gray"/>











onClick="Button1_Click" Text="编辑所有数据" />



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("您要删除的记录是:" + a.DataKeys[e.RowIndex].Value.ToString() + "&nbsp;&nbsp;&nbsp;&nbsp;TODO:执行删除动作");
// TODO:执行删除动作
}
protected void DetailGridView_RowCommand( object sender, GridViewCommandEventArgs e )
{


}
protected void Button1_Click( object sender, EventArgs e )
{
string Guids = Request.Form["guid"];
if (Guids == null || Guids.Equals(string.Empty))
{
Response.Write("没有数据可以修改。");
return;
}
string sql;
OleDbCommand cmd;
OleDbConnection cn = new OleDbConnection();
cn.ConnectionString = ConnectionString;
cn.Open();
string[] ArrGuid = Guids.Split(',');
for (int i = 0 ; i < ArrGuid.Length ; i++)
{
sql = "UPDATE Document Set Title = @Title,CreateDate = @CreateDate Where id = @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("

  • 更新:id= " + ArrGuid[i] + " "+ Request.Form["Title" + ArrGuid[i].Trim()]);
    }
    cn.Close();
    cn.Dispose();
    }
    }


    来源:孟宪会之精彩世界







  • 添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


    Disclaimer Privacy Policy About us Site Map

    If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
    Copyright ©2011-
    uuhomepage.com, Inc. All rights reserved.