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

2021-03-22 11:08:41 浏览数 (1)

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

GridViewUp.aspx文件代码:

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

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html  xmlns ="http://www.w3.org/1999/xhtml" > < head  runat ="server" > < title > 无标题页 </ title > </ head > < body > < form  id ="form1"  runat ="server" > < div > < table  cellpadding ="0"  cellspacing ="0"  border ="0"  width ="80%"  style ="font-size: 11px" > < tr > < td  align ="center" > < asp:GridView  ID ="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:BoundField  HeaderText ="编号"  DataField ="id"  ReadOnly ="True" /> < asp:BoundField  DataField ="name"  HeaderText ="姓名"  ReadOnly ="True" /> < asp:TemplateField  HeaderText ="身份证号" > < ItemTemplate > <% #  Eval ( " card " )  %> </ ItemTemplate > < EditItemTemplate > < asp:TextBox  ID ="TBCard"  Text ='<%#  Eval("card") % > ' runat="server" Width="140px" /> </ EditItemTemplate > < ItemStyle  Width ="150px" /> </ asp:TemplateField > < asp:TemplateField  HeaderText ="学历" > < ItemTemplate > <% #  Eval ( " xueliText " ) %> </ ItemTemplate > < EditItemTemplate > < asp:HiddenField  ID ="HDFXueli"  runat ="server"  Value ='<%#  Eval("xueli") % > ' /> < asp:DropDownList  ID ="DDLXueli"  runat ="server"  Width ="90px" /> </ EditItemTemplate > < ItemStyle  Width ="100px" /> </ asp:TemplateField > < asp:TemplateField  HeaderText ="价格" > < ItemTemplate > <% #  Eval ( " price " )  %> </ ItemTemplate > < EditItemTemplate > < asp:TextBox  ID ="TBPrice"  Text ='<%#  Eval("price") % > ' runat="server" Width="90px" /> </ EditItemTemplate > < ItemStyle  Width ="100px" /> </ asp:TemplateField > < asp:BoundField  HeaderText ="建立时间"  DataField ="createdate"  ReadOnly ="True" /> < asp:CommandField  ShowDeleteButton ="True"  ShowEditButton ="True"  HeaderText ="操作" /> </ Columns > < PagerSettings  FirstPageText =""  LastPageText =""  NextPageText =""  PreviousPageText ="" /> < RowStyle  Height ="20px"  BackColor ="#F7F6F3"  ForeColor ="#333333" /> < FooterStyle  BackColor ="#5D7B9D"  Font-Bold ="True"  ForeColor ="White" /> < EditRowStyle  BackColor ="#999999" /> < SelectedRowStyle  BackColor ="#E2DED6"  Font-Bold ="True"  ForeColor ="#333333" /> < PagerStyle  BackColor ="#284775"  ForeColor ="White"  HorizontalAlign ="Center" /> < HeaderStyle  BackColor ="#5D7B9D"  Font-Bold ="True"  ForeColor ="White" /> < AlternatingRowStyle  BackColor ="White"  ForeColor ="#284775" /> </ asp:GridView > </ td > </ tr > </ table > </ div > </ form > </ body > </ html >

GridViewUp.aspx.cs文件代码:

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.Web.UI.WebControls.WebParts; using  System.Web.UI.HtmlControls; using  System.Data.SqlClient;

public  partial  class  gridview_GridViewUp : System.Web.UI.Page { protected void  Page_Load( object  sender, EventArgs e)     { if  ( ! IsPostBack)         {             GridViewBind();         }     }

protected void  GridView1_PageIndexChanging( object  sender, GridViewPageEventArgs e)     {         GridView1.PageIndex  =  e.NewPageIndex;         GridViewBind();     }

private void  GridViewBind()     { string  connStr  =  ConfigurationManager.ConnectionStrings[ " ConnString " ].ConnectionString; string  SqlStr  = " SELECT *,case xueli when '1' then '博士' when '2' then '硕士' when '3' then '学士' else '' end as xueliText FROM test01 where id<1000 and id>200 " ;         DataSet ds  = new  DataSet();

try         {             SqlConnection conn  = new  SqlConnection(connStr); if  (conn.State.ToString()  == " Closed " ) conn.Open();             SqlDataAdapter da  = new  SqlDataAdapter(SqlStr, conn);             da.Fill(ds,  " test01 " ); if  (conn.State.ToString()  == " Open " ) conn.Close();

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

protected void  GridView1_RowDataBound( object  sender, GridViewRowEventArgs e)     { if  (((DropDownList)e.Row.FindControl( " DDLXueli " ))  != null )         {                     DropDownList ddlxueli  =  (DropDownList)e.Row.FindControl( " DDLXueli " );

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

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

protected void  GridView1_RowEditing( object  sender, GridViewEditEventArgs e)     {         GridView1.EditIndex  =  e.NewEditIndex;         GridViewBind();     } protected void  GridView1_RowCancelingEdit( object  sender, GridViewCancelEditEventArgs e)     {         GridView1.EditIndex  = - 1 ;         GridViewBind();     }

protected void  GridView1_RowUpdating( object  sender, GridViewUpdateEventArgs e)     { string  id  =  GridView1.DataKeys[e.RowIndex].Values[ 0 ].ToString(); string  card  =  ((TextBox)GridView1.Rows[e.RowIndex].FindControl( " TBCard " )).Text; string  xueli  =  ((DropDownList)GridView1.Rows[e.RowIndex].FindControl( " DDLXueli " )).SelectedValue; string  price  =  ((TextBox)GridView1.Rows[e.RowIndex].FindControl( " TBPrice " )).Text;

string  connStr  =  ConfigurationManager.ConnectionStrings[ " ConnString " ].ConnectionString; string  SqlStr  = " update test01 set card=' "  card  " ',xueli=' "  xueli  " ',price=' "  price  " ' where id= "  id;

try         {             SqlConnection conn  = new  SqlConnection(connStr); if  (conn.State.ToString()  == " Closed " ) conn.Open();             SqlCommand comm  = new  SqlCommand(SqlStr, conn);             comm.ExecuteNonQuery();             comm.Dispose(); if  (conn.State.ToString()  == " Open " ) conn.Close();

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

protected void  GridView1_RowDeleting( object  sender, GridViewDeleteEventArgs e)     { string  id  =  GridView1.DataKeys[e.RowIndex].Values[ 0 ].ToString(); string  connStr  =  ConfigurationManager.ConnectionStrings[ " ConnString " ].ConnectionString; string  SqlStr  = " delete from test01 where id= "  id;

try         {             SqlConnection conn  = new  SqlConnection(connStr); if  (conn.State.ToString()  == " Closed " ) conn.Open();             SqlCommand comm  = new  SqlCommand(SqlStr, conn);             comm.ExecuteNonQuery();             comm.Dispose(); if  (conn.State.ToString()  == " Open " ) conn.Close();

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

sql server2000生成表代码:

CREATE TABLE [ dbo ] . [ test01 ]  ( [ id ] [ decimal ] ( 180 )  IDENTITY  ( 11 )  NOT NULL  , [ name ] [ varchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  , [ card ] [ varchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  , [ xueli ] [ varchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  , [ price ] [ decimal ] ( 180 )  NULL  , [ createdate ] [ datetime ] NULL )  ON [ PRIMARY ] GO

ALTER TABLE [ dbo ] . [ test01 ] ADD CONSTRAINT [ DF_test01_createdate ] DEFAULT  ( getdate ())  FOR [ createdate ] , CONSTRAINT [ PK_test01 ] PRIMARY KEY CLUSTERED     ( [ id ]     )   ON [ PRIMARY ] GO

本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

0 人点赞