zoukankan      html  css  js  c++  java
  • ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" PageSize="10" 
                            Width
    ="542px" AllowPaging="True" AllowSorting="True"
                             DataKeyNames
    ="DB1_1,DB1_2" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDataBound="GridView1_RowDataBound" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" OnSorting="GridView1_Sorting" >
                            
    <Columns>
                                
    <asp:TemplateField HeaderText="序号">
                                    
    <ItemTemplate>
                                    
    <%# this.GridView1.PageIndex * this.GridView1.PageSize + this.GridView1.Rows.Count + 1%>
                                    
    </ItemTemplate>
                                
    </asp:TemplateField>
                                
    <asp:TemplateField HeaderText="学历代码" SortExpression="DB1_1">
                                    
    <EditItemTemplate>
                                        
    <%--<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("DB1_1") %>'></asp:TextBox>--%>
                                   <asp:DropDownList ID ="ddlXL" runat="server"  DataValueField='<%# Bind("DB1_1") %>'></asp:DropDownList>
                                    </EditItemTemplate>
                                    
    <ItemTemplate>
                                        
    <asp:Label ID="Label1" runat="server" Text='<%# Bind("xueliText") %>'></asp:Label>
                                    </ItemTemplate>
                                
    </asp:TemplateField>
                                
    <asp:TemplateField HeaderText="学历名称" SortExpression="DB1_2">
                                    
    <EditItemTemplate>
                                        
    <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("DB1_2") %>'></asp:TextBox>
                                    </EditItemTemplate>
                                    
    <ItemTemplate>
                                        
    <asp:Label ID="Label2" runat="server" Text='<%# Bind("DB1_2") %>'></asp:Label>
                                    </ItemTemplate>
                                
    </asp:TemplateField>
                              
                            
    <asp:TemplateField HeaderText="操作" ShowHeader="False">
                            
    <EditItemTemplate>
                                
    <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
                                     Text
    ="更新"></asp:LinkButton>
                                
    <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
                                    Text
    ="取消"></asp:LinkButton>
                            
    </EditItemTemplate>
                            
    <ItemTemplate>
                                
    <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
                                    Text
    ="编辑" OnClientClick="return confirm('确认要编辑吗?');"></asp:LinkButton>
                            
                                
    <asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="False" CommandName="Delete"
                                    Text
    ="删除" OnClientClick="return confirm('确认要删除吗?');"></asp:LinkButton>
                                
    <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Select"
                                    Text
    ="选择"></asp:LinkButton>
                            
    </ItemTemplate>
                            
    </asp:TemplateField>
                           
    </Columns>
                           
    <AlternatingRowStyle BackColor="Aquamarine" />
                        
    </asp:GridView>
       /// <summary>
        
    /// 绑定数据到GridView
        
    /// </summary>

        private void GridViewBind()
        
    {
            检索数据库
            
    string strSql = "SELECT * FROM DB1";
            得到数据集
            
    this.GridView1.DataSource=conn.GetDs(strSql).Tables[0].DefaultView;
            
    this.GridView1.DataBind();
       
        }

        
    /// <summary>
        
    /// 编辑当前行
        
    /// </summary>
        
    /// <param name="sender"></param>
        
    /// <param name="e"></param>

        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        
    {
            GridView1.EditIndex 
    = e.NewEditIndex;
            
    //当前编辑行背景色高亮
            this.GridView1.EditRowStyle.BackColor = Color.FromName("#F7CE90");
            GridViewBind();
        }

        
    /// <summary>
        
    /// 取消编辑状态
        
    /// </summary>
        
    /// <param name="sender"></param>
        
    /// <param name="e"></param>

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

        
    /// <summary>
        
    /// 删除记录过程
        
    /// </summary>
        
    /// <param name="sender"></param>
        
    /// <param name="e"></param>

        protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        
    {
            
    //得到单位编号
            string rowToDelete = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
            
    //转换为整数
            
    //int ID=Convert.ToInt32(rowToDelete);
            
    //从数据库中删除
            string str = "DELETE FROM DB1 where DB1_1=" + "'" + rowToDelete + "'" + "";
           
            
    try
            
    {
            conn.RunSql(str);
            
    //重新绑定数据
            GridViewBind();
            }

            
    catch (Exception ex)
            
    {
            Response.Write(
    "数据库错误,错误原因:" + ex.Message);
            Response.End();
            }


        }

        
    /// <summary>
        
    /// 更新记录过程
        
    /// </summary>
        
    /// <param name="sender"></param>
        
    /// <param name="e"></param>

        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        
    {
            
    string ID = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
            
    string DB1_1 = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox1")).Text;
            
    //string DB1_2 = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox2")).Text;
            string DB1_2 = (((DropDownList))GridView1.Rows[e.RowIndex].FindControl("ddlXL")).SelectedItem.Text;
            
        
    //判断表单项是否有空并给出提示信息
            if (DB1_1 == "" || DB1_2 == "")
            
    {
                conn.Alert(
    "请输入完整信息!", Page);
                
    return;
            }
                 
           
    try
           
    {
            conn.BuilderEdit(
    "select * from DB1 where DB1_1 ='" + ID + "'");
            conn.dr[
    "DB1_1"= DB1_1;
            conn.dr[
    "DB1_2"= DB1_2;
            conn.BuilderEditClose();
           }

           
    catch (OracleException err)
           
    {
                
    if (err.Code.ToString() == "1")
                    conn.Alert(
    "错误:已存在具有相同主键的记录", Page);
                
    else
                    conn.Alert(
    "错误:未能添加记录", Page);
            }


            Response.Write(
    "<script language='javascript'>alert('数据已被保存!');</script>");
            
    //返回浏览状态
            GridView1.EditIndex = -1;
            GridViewBind();
        }

        
    /// <summary>
        
    /// 分页事件
        
    /// </summary>
        
    /// <param name="sender"></param>
        
    /// <param name="e"></param>

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

        
    /// <summary>
        
    /// 加入鼠标效果及为DropDownList绑定值
        
    /// </summary>
        
    /// <param name="sender"></param>
        
    /// <param name="e"></param>

        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        
    {
            
    //为DropDownList绑定值
            if (((DropDownList)e.Row.FindControl("ddlXL")) != null)
            
    {
                DropDownList ddlXL 
    = (DropDownList)e.Row.FindControl("ddlXL");
                ddlXL.Items.Clear();
                ddlXL.Items.Add(
    new ListItem("博士""1"));
                ddlXL.Items.Add(
    new ListItem("硕士""2"));
                ddlXL.Items.Add(
    new ListItem("学士""3"));
            }


            
    //加入鼠标滑过的高亮效果
            if (e.Row.RowType == DataControlRowType.DataRow)//判定当前的行是否属于datarow类型的行
            {
                
    //当鼠标放上去的时候 先保存当前行的背景颜色 并给附一颜色
                e.Row.Attributes.Add("onmouseover""currentcolor=this.style.backgroundColor;this.style.backgroundColor='yellow',this.style.fontWeight='';");
                
    //当鼠标离开的时候 将背景颜色还原的以前的颜色
                e.Row.Attributes.Add("onmouseout""this.style.backgroundColor=currentcolor,this.style.fontWeight='';");
            }

            
    //单击行改变行背景颜色
            if (e.Row.RowType == DataControlRowType.DataRow)
            
    {
                e.Row.Attributes.Add(
    "onclick""this.style.backgroundColor='#99cc00'; this.style.color='buttontext';this.style.cursor='default';");
            }
     
        }
  • 相关阅读:
    [Oracle] CPU/PSU补丁安装详细教程
    weblogic 升级bsu_Weblogic补丁升级之坑坑洼洼
    weblogic补丁下载与安装补丁的方法
    weblogic补丁安装失败
    【项目】项目56
    【项目】项目55
    【项目】项目54
    【项目】项目53
    【项目】项目52
    【项目】项目51
  • 原文地址:https://www.cnblogs.com/ryb/p/561474.html
Copyright © 2011-2022 走看看