zoukankan      html  css  js  c++  java
  • 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="card" Visible=false />
                                    
    <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("description")%>
                                        
    </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 a.*,b.description FROM test01 a,xueli b where a.xueli=b.code and a.id<1000 and a.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 的值,绑定数据
                string connStr = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
                
    string SqlStr = "SELECT * from xueli";
                DataSet ds 
    = new DataSet();

                SqlConnection conn 
    = new SqlConnection(connStr);
                
    if (conn.State.ToString() == "Closed") conn.Open();
                SqlDataAdapter da 
    = new SqlDataAdapter(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;
                
    //
            }

        }


        
    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](180IDENTITY (11NOT 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](180NULL ,
        
    [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


    CREATE TABLE [dbo].[xueli](
        
    [id] [int] IDENTITY(1,1NOT NULL,
        
    [code] [int] NULL,
        
    [description] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
     
    CONSTRAINT [PK_xueli] PRIMARY KEY CLUSTERED 
    (
        
    [id] ASC
    )
    WITH (IGNORE_DUP_KEY = OFFON [PRIMARY]
    ON [PRIMARY]

    xueli表中的数据:
    id    code    description
    1    1    博士
    2    2    硕士
    3    3    学士
  • 相关阅读:
    HDU 6143 Killer Names【dp递推】【好题】【思维题】【阅读题】
    HDU 6143 Killer Names【dp递推】【好题】【思维题】【阅读题】
    POJ 3974 Palindrome【manacher】【模板题】【模板】
    POJ 3974 Palindrome【manacher】【模板题】【模板】
    HDU 6127 Hard challenge【计算机几何】【思维题】
    HDU 6127 Hard challenge【计算机几何】【思维题】
    HDU 6129 Just do it【杨辉三角】【思维题】【好题】
    HDU 6129 Just do it【杨辉三角】【思维题】【好题】
    HDU 3037 Saving Beans【Lucas定理】【模板题】【模板】【组合数取余】
    8.Math 对象
  • 原文地址:https://www.cnblogs.com/goody9807/p/1261455.html
Copyright © 2011-2022 走看看