ASP.NET2.0の下にDropDownListのGridView編集、削除の完全な例があります!


            Width="542px" AllowPaging="True" AllowSorting="True"
             DataKeyNames="DB31_1,DB31_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" >
            
              
                
                
                

              

              
                
                  '>--%>
                '>
                

                
                  

              

              
                
                  
                

                
                  

              

            
            
                                Text=" ">
                               Text=" ">
            

            
                               Text=" " OnClientClick="return confirm(' ?');">
                               Text=" " OnClientClick="return confirm(' ?');">
                               Text=" ">
            

            

           

           
          

  ///

  /// GridView
  ///

  private void GridViewBind()
  {
    
    string strSql = "SELECT * FROM DB1";
    
    this.GridView1.DataSource=conn.GetDs(strSql).Tables[0].DefaultView;
    this.GridView1.DataBind();
  }
  ///
  ///
  ///

  ///
  ///
  protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
  {
    GridView1.EditIndex = e.NewEditIndex;
    //
    this.GridView1.EditRowStyle.BackColor = Color.FromName("#F7CE90");
    GridViewBind();
  }
  ///
  ///
  ///

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

  ///
  ///
  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();
    }
  
  }
  ///
  ///
  ///

  ///
  ///
  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("alert(' !');");
    //
    GridView1.EditIndex = -1;
    GridViewBind();
  }
  ///
  ///
  ///

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

  ///
  ///
  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(" "currentcolor=this.style.backgroundColor;this.style.backgroundColor='yellow',this.style.fontWeight='';");
      //
      e.Row.Attributes.Add(" "this.style.backgroundColor=currentcolor,this.style.fontWeight='';");
    }
    //
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
      e.Row.Attributes.Add(" "this.style.backgroundColor='#99cc00'; this.style.color='buttontext';this.style.cursor='default';");
    }
  }