C#.NET中GridView单行编辑的简单例子 2009-03-27 11:58
编辑页面如下图:
图1:
图2:
页面test.aspx代码如下:
<html>
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowEditing="GV_EDIT" OnRowUpdating="GV_UPDATE" OnRowCancelingEdit="GV_CANCEL">
<Columns>
<asp:TemplateField HeaderText="记录ID">
<ItemStyle Width="150px" />
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"JLXH")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="JLID_TXT" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"JLXH")%>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="true" ShowCancelButton="true" UpdateText="保存"/>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
后台代码test.aspx.cs如下:
public partial class scyx_cjxmmbwh_test : System.Web.UI.Page
{
DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
//绑定显示模板的gridview数据
string sql1 = "select * from cj_scyx_table_cjxmmbmx";
dt = DBDelegate.ExecuteTable(GetDatabaseProperty.GetDatabase(), sql1);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
/// <summary>
/// gridview的编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GV_EDIT(object sender, GridViewEditEventArgs e)
{
this.GridView1.EditIndex = e.NewEditIndex;
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
/// <summary>
/// gridview的取消编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GV_CANCEL(object sender, GridViewCancelEditEventArgs e)
{
this.GridView1.EditIndex = -1;
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
/// <summary>
/// gridview的更新事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GV_UPDATE(object sender, GridViewUpdateEventArgs e)
{
string id = this.GridView1.Rows[e.RowIndex].Cells[0].Text.Trim();
string updateId = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[0].FindControl("JLID_TXT")).Text;
Response.Write("<script>alert('" + updateId + "')</script>");
//存数据库的方法省略
string sql = "select * from cj_scyx_table_cjxmmbmx";
DataTable dt1 = DBDelegate.ExecuteTable(GetDatabaseProperty.GetDatabase(), sql);
this.GridView1.EditIndex = -1;
this.GridView1.DataSource = dt1;
this.GridView1.DataBind();
}
}
一个简单的例子,呵呵~~~