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>
<!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();
}
}
}
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
[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