GridView控件修改、删除示例(修改含有DropDownList控件)

本文介绍了一个使用ASP.NET GridView控件实现数据展示、编辑、删除功能的例子。示例中包含了如何处理含有DropDownList控件的编辑操作,并提供了完整的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GridView控件修改、删除例子,修改时含有DropDownList控件。
示例运行效果图:

GridViewUp.aspx文件代码:

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="GridViewUp.aspx.cs"Inherits="gridview_GridViewUp"%>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无标题页</title>
</head>
<body>
<formid="form1"runat="server">
<div>
<tablecellpadding="0"cellspacing="0"border="0"width="80%"style="font-size:11px">
<tr>
<tdalign="center">
<asp:GridViewID="GridView1"runat="server"Width="100%"CellPadding="4"ForeColor="#333333"
AutoGenerateColumns
="False"AllowPaging="True"PageSize="12"OnRowCancelingEdit="GridView1_RowCancelingEdit"
OnRowEditing
="GridView1_RowEditing"OnRowUpdating="GridView1_RowUpdating"OnRowDeleting="GridView1_RowDeleting"
DataKeyNames
="id,name"OnPageIndexChanging="GridView1_PageIndexChanging"DataMember="card,price"OnRowDataBound="GridView1_RowDataBound"GridLines="None">
<Columns>
<asp:BoundFieldHeaderText="编号"DataField="id"ReadOnly="True"/>
<asp:BoundFieldDataField="name"HeaderText="姓名"ReadOnly="True"/>
<asp:TemplateFieldHeaderText="身份证号">
<ItemTemplate>
<%#Eval("card")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBoxID="TBCard"Text='<%#Eval("card")%>'runat="server"Width="140px"/>
</EditItemTemplate>
<ItemStyleWidth="150px"/>
</asp:TemplateField>
<asp:TemplateFieldHeaderText="学历">
<ItemTemplate>
<%#Eval("xueliText")%>
</ItemTemplate>
<EditItemTemplate>
<asp:HiddenFieldID="HDFXueli"runat="server"Value='<%#Eval("xueli")%>'/>
<asp:DropDownListID="DDLXueli"runat="server"Width="90px"/>
</EditItemTemplate>
<ItemStyleWidth="100px"/>
</asp:TemplateField>
<asp:TemplateFieldHeaderText="价格">
<ItemTemplate>
<%#Eval("price")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBoxID="TBPrice"Text='<%#Eval("price")%>'runat="server"Width="90px"/>
</EditItemTemplate>
<ItemStyleWidth="100px"/>
</asp:TemplateField>
<asp:BoundFieldHeaderText="建立时间"DataField="createdate"ReadOnly="True"/>
<asp:CommandFieldShowDeleteButton="True"ShowEditButton="True"HeaderText="操作"/>
</Columns>
<PagerSettingsFirstPageText=""LastPageText=""NextPageText=""PreviousPageText=""/>
<RowStyleHeight="20px"BackColor="#F7F6F3"ForeColor="#333333"/>
<FooterStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/>
<EditRowStyleBackColor="#999999"/>
<SelectedRowStyleBackColor="#E2DED6"Font-Bold="True"ForeColor="#333333"/>
<PagerStyleBackColor="#284775"ForeColor="White"HorizontalAlign="Center"/>
<HeaderStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/>
<AlternatingRowStyleBackColor="White"ForeColor="#284775"/>
</asp:GridView>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>


GridViewUp.aspx.cs文件代码:

usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;

publicpartialclassgridview_GridViewUp:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
GridViewBind();
}
}

protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
GridView1.PageIndex
=e.NewPageIndex;
GridViewBind();
}

privatevoidGridViewBind()
{
stringconnStr=ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
stringSqlStr="SELECT*,casexueliwhen'1'then'博士'when'2'then'硕士'when'3'then'学士'else''endasxueliTextFROMtest01whereid<1000andid>200";
DataSetds
=newDataSet();

try
{
SqlConnectionconn
=newSqlConnection(connStr);
if(conn.State.ToString()=="Closed")conn.Open();
SqlDataAdapterda
=newSqlDataAdapter(SqlStr,conn);
da.Fill(ds,
"test01");
if(conn.State.ToString()=="Open")conn.Close();

GridView1.DataSource
=ds.Tables[0].DefaultView;
GridView1.DataBind();
}
catch(Exceptionex)
{
Response.Write(
"数据库错误,错误原因:"+ex.Message);
Response.End();
}
}

protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse)
{
if(((DropDownList)e.Row.FindControl("DDLXueli"))!=null)
{
DropDownListddlxueli
=(DropDownList)e.Row.FindControl("DDLXueli");

//生成DropDownList的值,也可以取得数据库中的数据绑定
ddlxueli.Items.Clear();
ddlxueli.Items.Add(
newListItem("博士","1"));
ddlxueli.Items.Add(
newListItem("硕士","2"));
ddlxueli.Items.Add(
newListItem("学士","3"));
//

//选中DropDownList
ddlxueli.SelectedValue=((HiddenField)e.Row.FindControl("HDFXueli")).Value;
//
}
}

protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse)
{
GridView1.EditIndex
=e.NewEditIndex;
GridViewBind();
}
protectedvoidGridView1_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse)
{
GridView1.EditIndex
=-1;
GridViewBind();
}

protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEventArgse)
{
stringid=GridView1.DataKeys[e.RowIndex].Values[0].ToString();
stringcard=((TextBox)GridView1.Rows[e.RowIndex].FindControl("TBCard")).Text;
stringxueli=((DropDownList)GridView1.Rows[e.RowIndex].FindControl("DDLXueli")).SelectedValue;
stringprice=((TextBox)GridView1.Rows[e.RowIndex].FindControl("TBPrice")).Text;

stringconnStr=ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
stringSqlStr="updatetest01setcard='"+card+"',xueli='"+xueli+"',price='"+price+"'whereid="+id;

try
{
SqlConnectionconn
=newSqlConnection(connStr);
if(conn.State.ToString()=="Closed")conn.Open();
SqlCommandcomm
=newSqlCommand(SqlStr,conn);
comm.ExecuteNonQuery();
comm.Dispose();
if(conn.State.ToString()=="Open")conn.Close();

GridView1.EditIndex
=-1;
GridViewBind();
}
catch(Exceptionex)
{
Response.Write(
"数据库错误,错误原因:"+ex.Message);
Response.End();
}
}

protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
stringid=GridView1.DataKeys[e.RowIndex].Values[0].ToString();
stringconnStr=ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
stringSqlStr="deletefromtest01whereid="+id;

try
{
SqlConnectionconn
=newSqlConnection(connStr);
if(conn.State.ToString()=="Closed")conn.Open();
SqlCommandcomm
=newSqlCommand(SqlStr,conn);
comm.ExecuteNonQuery();
comm.Dispose();
if(conn.State.ToString()=="Open")conn.Close();

GridView1.EditIndex
=-1;
GridViewBind();
}
catch(Exceptionex)
{
Response.Write(
"数据库错误,错误原因:"+ex.Message);
Response.End();
}
}
}


sql server2000生成表代码:

CREATETABLE[dbo].[test01](
[id][decimal](18,0)IDENTITY(1,1)NOTNULL,
[name][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
[card][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
[xueli][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
[price][decimal](18,0)NULL,
[createdate][datetime]NULL
)
ON[PRIMARY]
GO

ALTERTABLE[dbo].[test01]ADD
CONSTRAINT[DF_test01_createdate]DEFAULT(getdate())FOR[createdate],
CONSTRAINT[PK_test01]PRIMARYKEYCLUSTERED
(
[id]
)
ON[PRIMARY]
GO


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值