Foros del Web » Programación para mayores de 30 ;) » .NET »

Evento SelectedIndexChanged de un combox dentro de un datagridview

Estas en el tema de Evento SelectedIndexChanged de un combox dentro de un datagridview en el foro de .NET en Foros del Web. Hola tengo un datagridview y una de las columnas es un combobox, y lo que quisiera saber es como puedo controlar el evento SelectedIndexChanged del ...
  #1 (permalink)  
Antiguo 14/06/2013, 13:13
 
Fecha de Ingreso: febrero-2007
Mensajes: 165
Antigüedad: 17 años, 9 meses
Puntos: 0
Evento SelectedIndexChanged de un combox dentro de un datagridview

Hola tengo un datagridview y una de las columnas es un combobox, y lo que quisiera saber es como puedo controlar el evento SelectedIndexChanged del citado combobox.

Por si os sirve de información el datagridview lo creo a través de un origen de datos.

Muchas gracias y perdón por las molestias
  #2 (permalink)  
Antiguo 17/06/2013, 08:56
Avatar de lucord  
Fecha de Ingreso: marzo-2010
Ubicación: San Jose, Costa Rica
Mensajes: 87
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: Evento SelectedIndexChanged de un combox dentro de un datagridview

Hola que tal serbc27, en realidad no es difícil.

primero el código aspx que va dentro del gridview

Código ASP:
Ver original
  1. <asp:TemplateField>
  2.                 <ItemTemplate>
  3.                    <asp:DropDownList ID="drop" runat="server" OnSelectedIndexChanged="drop_SelectedIndexChanged" AutoPostBack ="true">
  4.                         <asp:ListItem Value="1">UNO</asp:ListItem>
  5.                         <asp:ListItem Value="2">DOS</asp:ListItem>
  6.                    </asp:DropDownList>
  7.                 </ItemTemplate>
  8.   </asp:TemplateField>


Luego, el code behind

Código vb:
Ver original
  1. Protected Sub drop_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
  2.         Dim ddl As DropDownList = TryCast(sender, DropDownList)
  3.         'se busca dentro del grid la fila que tenga el control
  4.        For Each row As GridViewRow In Gridar.Rows
  5.             'buscar Dropdown control  
  6.            Dim ctrl As Control = TryCast(row.FindControl("drop"), DropDownList)
  7.             If ctrl IsNot Nothing Then
  8.                 Dim ddl1 As DropDownList = DirectCast(ctrl, DropDownList)
  9.                 'comparar ClientID con el dropdown del sender
  10.                If ddl.ClientID = ddl1.ClientID Then
  11.                     mensaje(ddl1.SelectedValue)
  12.                     Exit For
  13.                 End If
  14.             End If
  15.         Next
  16.     End Sub

Código C:
Ver original
  1. protected void drop_SelectedIndexChanged(object sender, EventArgs e)
  2. {
  3.     DropDownList ddl = sender as DropDownList;
  4.     //se busca dentro del grid la fila que tenga el control
  5.     foreach (GridViewRow row in Gridar.Rows) {
  6.         //buscar Dropdown control  
  7.         Control ctrl = row.FindControl("drop") as DropDownList;
  8.         if (ctrl != null) {
  9.             DropDownList ddl1 = (DropDownList)ctrl;
  10.             //comparar ClientID con el dropdown del sender
  11.             if (ddl.ClientID == ddl1.ClientID) {
  12.                 mensaje(ddl1.SelectedValue);
  13.                 break; // TODO: might not be correct. Was : Exit For
  14.             }
  15.         }
  16.     }
  17. }

en este caso en el código, lo único que hice es mostrar en un mensaje el SelectedValue del dropdownlist

Si tienes alguna duda estoy a tus ordenes.

Salu2.

Última edición por lucord; 17/06/2013 a las 09:02

Etiquetas: combox, datagridview, evento
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:32.