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


<%@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="card"Visible=false/>
<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("description")%>
</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="SELECTa.*,b.descriptionFROMtest01a,xuelibwherea.xueli=b.codeanda.id<1000anda.id>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的值,绑定数据
stringconnStr=ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
stringSqlStr="SELECT*fromxueli";
DataSetds
=newDataSet();

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

ddlxueli.DataSource
=ds.Tables[0].DefaultView;
ddlxueli.DataTextField
="description";
ddlxueli.DataValueField
="code";
ddlxueli.DataBind();
//

//选中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


CREATETABLE[dbo].[xueli](
[id][int]IDENTITY(1,1)NOTNULL,
[code][int]NULL,
[description][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
CONSTRAINT[PK_xueli]PRIMARYKEYCLUSTERED
(
[id]ASC
)
WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY]
)
ON[PRIMARY]

xueli表中的数据:

长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn