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

GridView控件修改、删除例子,修改时含有DropDownList控件。示例运行效果图:Grid数据库
强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码

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
]
(
18

0

IDENTITY
 (
1

1

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
]
(
18

0

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,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/3491

发表评论