how to bind a dropdownlist in gridview?

后端 未结 5 1902
攒了一身酷
攒了一身酷 2020-12-03 03:52

I have a gridview in which every row contains a dropdownlist. I want to bind every dropdownlist dynamically. Can someone tell me how can i do it. Thanks in Advance

5条回答
  •  一个人的身影
    2020-12-03 04:46

    If you are using template column then you can bind your drop-down from mark-up using data-binding expressions. For example,

    
      
        
       
    
    

    Above is assuming that your drop-down data in constant across rows. If it is changing then you can use data-binding expression such as

    
    

    GetDropDownData will be a protected method in code-behind that will return the data (data-table, list, array) for the given row.

    You can use GridView.RowDataBound event (or RowCreated event) in code-behind to fill drop-downs. For example,

      protected void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
      {
    
        if(e.Row.RowType == DataControlRowType.DataRow)
        {
          // Find the drop-down (say in 3rd column)
          var dd = e.Row.Cells[2].Controls[0] as DropDownList;
          if (null != dd) {
             // bind it
          }
    
          /*
          // In case of template fields, use FindControl
          dd = e.Row.Cells[2].FindControl("MyDD") as DropDownList;
          */
        }
    
      }
    

提交回复
热议问题