Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/04/2013, 06:45
EURIBICE
 
Fecha de Ingreso: abril-2013
Mensajes: 1
Antigüedad: 11 años
Puntos: 0
Pregunta Habilitar elementos de rejilla segun seleccion del dropdownlist

Buenos días
Me gustaría saber si por favor me pueden ayudar con el siguiente problema.
Tengo un gridview con 3 dropdownlist en cada fila (incluyendo el pie) y quiero q si elijo en el primer dropdownlist el elemento "PAIS" me habilite el dropdownlist PAISES y me inhabilite el de AGRUPACIONES y viceversa. Esto se podrá hacer tanto en el pie como al editar una fila cualquiera.
Aquí dejo el código. Muchas gracias y un saludo.

<div id="REJILLA">
<asp:GridView ID="REJILLA_INFORMACION" AllowPaging="true" AllowSorting="true" AutoGenerateColumns="false" DataKeyNames="idInformacion" DataSourceID="DATOS_SQL_REJILLA_INFORMACION" GridLines="None" PageSize="10" runat="server" ShowFooter="true" Width="100%">
<asp:TemplateField HeaderText="PAIS /<br />AGRUPACION">
<ItemTemplate></ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="COMBO_PAIS_AGRUPACION" CssClass="COMBO" runat="server">
<asp:ListItem Value="P">PAIS</asp:ListItem>
<asp:ListItem Value="A">AGRUPACION</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<FooterTemplate>
<asp:DropDownList ID="COMBO_PAIS_AGRUPACION" CssClass="COMBO" runat="server"

AutoPostBack="true" OnSelectedIndexChanged="COMBO_PAIS_AGRUPACION_SELE CTEDINDEXCHANGED">

<asp:ListItem Value="P">PAIS</asp:ListItem>
<asp:ListItem Value="A">AGRUPACION</asp:ListItem>
</asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="PAIS" SortExpression="pais">
<ItemTemplate><asp:Label ID="ETIQUETA_PAIS" runat="server" Text='<%# Eval("pais") %>' Visible='<%# NOT Eval("pais") IS DBNULL.VALUE %>'></asp:Label></ItemTemplate>
<EditItemTemplate><asp:DropDownList ID="COMBO_PAISES" CssClass="COMBO" DataSourceID="DATOS_SQL_COMBO_PAISES" DataTextField="pais" DataValueField="idPais" runat="server"></asp:DropDownList></EditItemTemplate>
<FooterTemplate>
<asp:DropDownList ID="COMBO_PAISES" AppendDataBoundItems="true" CssClass="COMBO" DataSourceID="DATOS_SQL_COMBO_PAISES" DataTextField="pais" DataValueField="idPais" runat="server">
<asp:ListItem Value="-">-----------</asp:ListItem>
</asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="AGRUPACION<br />DE PAISES" SortExpression="agrupacionPaises">
<ItemTemplate><asp:Label ID="ETIQUETA_AGRUPACION_PAIS" runat="server" Text='<%# Eval("agrupacionPaises") %>' Visible='<%# NOT Eval("agrupacionPaises") IS DBNULL.VALUE %>'></asp:Label></ItemTemplate>
<EditItemTemplate><asp:DropDownList ID="COMBO_AGRUPACIONES_PAISES" CssClass="COMBO" DataSourceID="DATOS_SQL_COMBO_AGRUPACIONES_PAISES" DataTextField="agrupacionPaises" DataValueField="idAgrupacionPaises" runat="server"></asp:DropDownList></EditItemTemplate>
<FooterTemplate>
<asp:DropDownList ID="COMBO_AGRUPACIONES_PAISES" AppendDataBoundItems="true" CssClass="COMBO" DataSourceID="DATOS_SQL_COMBO_AGRUPACIONES_PAISES" DataTextField="agrupacionPaises" DataValueField="idAgrupacionPaises" runat="server">
<asp:ListItem Value="-">-----------</asp:ListItem>
</asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>

<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="BOTON_IMAGEN_MODIFICAR_REGISTRO" CssClass="IMAGEN_BOTON_PEQUEÑA" ImageUrl="~/IMAGENES/MODIFICAR.gif" OnClick="BOTON_IMAGEN_MODIFICAR_REGISTRO_CLICK" runat="server" />
<asp:ImageButton ID="BOTON_IMAGEN_ELIMINAR_REGISTRO" CssClass="IMAGEN_BOTON_PEQUEÑA" ImageUrl="~/IMAGENES/ELIMINAR.gif" OnClick="BOTON_IMAGEN_ELIMINAR_REGISTRO_CLIC" runat="server"/>
</ItemTemplate>
<EditItemTemplate>
<asp:ImageButton ID="BOTON_IMAGEN_ACEPTAR_REGISTRO" CssClass="IMAGEN_BOTON_PEQUEÑA" ImageUrl="~/IMAGENES/ACEPTAR.gif" OnClick="BOTON_IMAGEN_ACEPTAR_REGISTRO_CLICK" runat="server" />
<asp:ImageButton ID="BOTON_IMAGEN_CANCELAR_REGISTRO" CssClass="IMAGEN_BOTON_PEQUEÑA" ImageUrl="~/IMAGENES/CANCELAR.gif" OnClick="BOTON_IMAGEN_CANCELAR_REGISTRO_CLICK" runat="server" />
</EditItemTemplate>
<FooterTemplate><asp:ImageButton ID="BOTON_IMAGEN_INSERTAR_REGISTRO" CssClass="IMAGEN_BOTON_PEQUEÑA" ImageUrl="~/IMAGENES/INSERTAR.gif" OnClick="BOTON_IMAGEN_INSERTAR_REGISTRO_CLICK" runat="server"/></FooterTemplate>
</asp:TemplateField>

</Columns>
</asp:GridView>
</div>


Protected Sub REJILLA_INFORMACION_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles REJILLA_INFORMACION.PreRender
fila_rejilla = REJILLA_INFORMACION.FooterRow
ACTIVAR_OBJETOS_DE_FORMATOS_DE_INFORMACION(fila_re jilla)
ACTIVAR_OBJETOS_DE_PAISES_AGRUPACIONES(fila_rejill a)
End Sub

Sub ACTIVAR_OBJETOS_DE_PAISES_AGRUPACIONES(ByVal fila_rejilla As GridViewRow)
COMBO_PAIS_AGRUPACION = fila_rejilla.FindControl("COMBO_PAIS_AGRUPACION")
COMBO_PAISES = fila_rejilla.FindControl("COMBO_PAISES")
COMBO_AGRUPACIONES_PAISES = fila_rejilla.FindControl("COMBO_AGRUPACIONES_PAISE S")
If COMBO_PAIS_AGRUPACION.SelectedValue = "P" Then
COMBO_PAISES.Enabled = True
COMBO_AGRUPACIONES_PAISES.Enabled = False
End If
If COMBO_PAIS_AGRUPACION.SelectedValue = "A" Then
COMBO_PAISES.Enabled = False
COMBO_AGRUPACIONES_PAISES.Enabled = True
End If
End Sub


Sub BOTON_IMAGEN_MODIFICAR_REGISTRO_CLICK(ByVal sender As Object, ByVal e As ImageClickEventArgs)
OBTENER_NUMERO_DE_FILA_DE_REJILLA(sender, fila)
fila_rejilla = REJILLA_INFORMACION.Rows(fila)

OBTENER_DATO_DEL_CONTENEDOR(fila_rejilla, "ETIQUETA_PAIS", pais)
OBTENER_DATO_DEL_CONTENEDOR(fila_rejilla, "ETIQUETA_AGRUPACION_PAIS", agrupacion_paises)
OBTENER_DATO_DEL_CONTENEDOR(fila_rejilla, "ETIQUETA_TIPO_INFORMACION", tipo_informacion)
REJILLA_INFORMACION.EditIndex = fila
REJILLA_INFORMACION.DataBind()
fila_rejilla = REJILLA_INFORMACION.Rows(fila)

If pais = "" Then
ACTUALIZAR_COMBO_DE_REJILLA(COMBO_PAIS_AGRUPACION, "AGRUPACION")
Else
ACTUALIZAR_COMBO_DE_REJILLA(COMBO_PAIS_AGRUPACION, "PAIS")
End If
COMBO_PAIS_AGRUPACION.Items.RemoveAt(0)
COMBO_PAISES = fila_rejilla.FindControl("COMBO_PAISES")
ACTUALIZAR_COMBO_DE_REJILLA(COMBO_PAISES, pais)
COMBO_AGRUPACIONES_PAISES = fila_rejilla.FindControl("COMBO_AGRUPACIONES_PAISE S")
ACTUALIZAR_COMBO_DE_REJILLA(COMBO_AGRUPACIONES_PAI SES, agrupacion_paises)

ACTIVAR_OBJETOS_DE_PAISES_AGRUPACIONES(fila_rejill a)
End Sub

Sub COMBO_PAIS_AGRUPACION_SELECTEDINDEXCHANGED(ByVal sender As Object, ByVal e As EventArgs)

OBTENER_NUMERO_DE_FILA_DE_REJILLA(sender, fila)
If fila >= 0 Then
fila_rejilla = REJILLA_INFORMACION.Rows(fila)

Else
fila_rejilla = REJILLA_INFORMACION.FooterRow
End If

ACTIVAR_OBJETOS_DE_PAISES_AGRUPACIONES(fila_rejill a)

End Sub