Foros del Web » Programando para Internet » ASPX (.net) »

Problema con PopUp en GridView - Usando Ajax Toolkit ModalPopupExtender

Estas en el tema de Problema con PopUp en GridView - Usando Ajax Toolkit ModalPopupExtender en el foro de ASPX (.net) en Foros del Web. Hola de nuevo, como están.. Pues esta vez vengo con un problema que no he podido resolver a un... y lo que trato de hacer ...
  #1 (permalink)  
Antiguo 19/09/2012, 10:44
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Pregunta Problema con PopUp en GridView - Usando Ajax Toolkit ModalPopupExtender

Hola de nuevo, como están..
Pues esta vez vengo con un problema que no he podido resolver a un... y lo que trato de hacer es que tengo un GridView donde tiene un columna que tiene un Botón tipo imagen que me servirá para Modificar, pero lo hará abriéndome un PopPup con el de Ajax Toolkit ModalPopupExtender, pero no he logrado que me abra el PopPup desde la columna y que me mande la Id a ese Dialogo (Conectado con Sql Server) para ver si me podrían ayudar continuación les muestro lo que tengo...

La columna que tengo que me hará el Edit es:

Código Javascript:
Ver original
  1. <asp:TemplateField>
  2.                                             <ItemTemplate>
  3.                                                 <asp:ImageButton ID="btnUpdate" runat="server" ImageUrl="~/images/editar.gif" Width="15px" Height="15px" CommandName="SelectUpdate" />
  4.                                             </ItemTemplate>
  5.                                         </asp:TemplateField>

Código Javascript:
Ver original
  1. <table class="style1" align="center">
  2.                         <tr>
  3.                             <td align="center">                                                                                            
  4.                                 <asp:GridView ID="GVProductos" runat="server"
  5.                                     BackColor="#CCCCCC" BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px"
  6.                                     CellPadding="4" CellSpacing="2" ForeColor="Black"
  7.                                     AutoGenerateColumns="False" DataKeyNames="id"
  8.                                     onrowcommand="GVProductos_RowCommand"
  9.                                     onselectedindexchanging="GVProductos_SelectedIndexChanging">
  10.                                     <Columns >
  11.                                         <asp:TemplateField HeaderText="Acción">
  12.                                             <ItemTemplate>
  13.                                                 <asp:CheckBox ID="chkDelete" runat="server" />
  14.                                             </ItemTemplate>
  15.                                         </asp:TemplateField>
  16.                                         <asp:TemplateField HeaderText="Codigo" Visible="false">
  17.                                             <ItemTemplate>
  18.                                                 <asp:Label ID="LblID" runat="server" Text='<%# Eval("id") %>'></asp:Label>
  19.                                             </ItemTemplate>
  20.                                         </asp:TemplateField>
  21.                                         <asp:TemplateField HeaderText="Nombre">
  22.                                             <ItemTemplate>
  23.                                                 <asp:Label ID="LblNombre" runat="server" Text='<%# Eval("nombre") %>'></asp:Label>
  24.                                             </ItemTemplate>
  25.                                         </asp:TemplateField>
  26.                                         <asp:TemplateField HeaderText="Tipo">
  27.                                             <ItemTemplate>
  28.                                                 <asp:Label ID="LblTipo" runat="server" Text='<%# Eval("tipo") %>'></asp:Label>
  29.                                             </ItemTemplate>
  30.                                         </asp:TemplateField>
  31.                                         <asp:TemplateField HeaderText="Cantidad">
  32.                                             <ItemTemplate>
  33.                                                 <asp:Label ID="LblCantidad" runat="server" Text='<%# Eval("cantidad") %>'></asp:Label>
  34.                                             </ItemTemplate>
  35.                                         </asp:TemplateField>
  36.                                         <asp:TemplateField HeaderText="Valor">
  37.                                             <ItemTemplate>
  38.                                                 <asp:Label ID="LblValor" runat="server" Text='<%# Eval("valor") %>'></asp:Label>
  39.                                             </ItemTemplate>
  40.                                         </asp:TemplateField>
  41.                                         <asp:TemplateField HeaderText="Fecha">
  42.                                             <ItemTemplate>
  43.                                                 <asp:Label ID="LblFecha" runat="server" Text='<%# Eval("fecha") %>'></asp:Label>
  44.                                             </ItemTemplate>
  45.                                         </asp:TemplateField>
  46.                                         <asp:TemplateField HeaderText="">
  47.                                             <ItemTemplate>                                                
  48.                                                 <asp:ImageButton ID="btnEliminar" runat="server" ImageUrl="~/images/eliminar.gif" Width="15px" Height="15px"  CommandName="EliminarProduct" CommandArgument='<%# Eval("id") %>' OnClientClick="return Eliminar();" />
  49.                                             </ItemTemplate>
  50.                                         </asp:TemplateField>
  51.                                         <asp:TemplateField>
  52.                                             <ItemTemplate>
  53.                                                 <asp:ImageButton ID="btnUpdate" runat="server" ImageUrl="~/images/editar.gif" Width="15px" Height="15px" CommandName="SelectUpdate" />
  54.                                             </ItemTemplate>
  55.                                         </asp:TemplateField>                                      
  56.                                     </Columns>
  57.                                     <FooterStyle BackColor="#CCCCCC" />
  58.                                     <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
  59.                                     <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
  60.                                     <RowStyle BackColor="White" />
  61.                                     <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
  62.                                     <SortedAscendingCellStyle BackColor="#F1F1F1" />
  63.                                     <SortedAscendingHeaderStyle BackColor="Gray" />
  64.                                     <SortedDescendingCellStyle BackColor="#CAC9C9" />
  65.                                     <SortedDescendingHeaderStyle BackColor="#383838" />
  66.                                 </asp:GridView>                                
  67.                             </td>
  68.                         </tr>
  69.                         <tr>
  70.                             <td align="left">                            
  71.                                 <asp:Button ID="btnDelect" runat="server" Text="Eliminar"
  72.                                     onclick="btnDelect_Click" OnClientClick="return Eliminar();" />                            
  73.                             </td>
  74.                         </tr>
  75.                     </table>

Y este es el PopPup: Omitiendo algunas cosas esto es lo que tengo pero no me sale, y el metodo que tengo para abrir el dialogo es:

Código Javascript:
Ver original
  1. protected void GVProductos_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
  2.         {
  3.             //int OrderId = Convert.ToInt32(GVProductos.DataKeys[e.NewSelectedIndex].Value);                                    
  4.             PopPupEditProduct.Show();              
  5.         }

Código Javascript:
Ver original
  1. <asp:HiddenField ID="HiddenPopPup" runat="server" />
  2.  
  3.     <asp:ModalPopupExtender ID="PopPupEditProduct" runat="server"
  4.         PopupControlID="PanelEditProduct" TargetControlID="HiddenPopPup" BackgroundCssClass="">
  5.     </asp:ModalPopupExtender>
  6.  
  7.     <asp:Panel ID="PanelEditProduct" runat="server" BackColor="White">
  8.         <asp:UpdatePanel ID="UpdatePanelEdit" runat="server">
  9.             <ContentTemplate>
  10.                 <div>
  11.                     <div>
  12.                         Editar registro Nro: <asp:Label ID="LblId" runat="server" Text="Label"></asp:Label>
  13.                     </div>
  14.                     <div>
  15.                         <table>
  16.                             <tr>
  17.                                 <td align="center" colspan="4"></td>                                
  18.                             </tr>                                                                                  
  19.                             <tr>
  20.                                 <td><asp:Label ID="LblDate" runat="server" Text="Fecha:"></asp:Label></td>
  21.                                 <td><asp:TextBox ID="txtDate" runat="server"></asp:TextBox></td>
  22.                                 <td>
  23.                                     <asp:ImageButton runat="Server" ID="btnDateCalendar" ImageUrl="~/images/cal.gif" />
  24.                                     <asp:CalendarExtender ID="CalDate" runat="server" TargetControlID="txtDate"  PopupButtonID="btnDateCalendar" Format="dd/MM/yyyy">
  25.                                     </asp:CalendarExtender>
  26.                                 </td>
  27.                                 <td></td>
  28.                             </tr>
  29.                             <tr>
  30.                                 <td class="style2" colspan="4" align="right">
  31.                                     <asp:Button ID="btnActualizar" runat="server" Text="Actualizar" />
  32.                                     <asp:Button ID="btnCancelar" runat="server" Text="Cancelar" />
  33.                                 </td>                                
  34.                             </tr>                      
  35.                         </table>
  36.                     </div>                
  37.                 </div>
  38.             </ContentTemplate>            
  39.         </asp:UpdatePanel>
  40.     </asp:Panel>
  #2 (permalink)  
Antiguo 20/09/2012, 12:23
Avatar de Alexis_Mejias  
Fecha de Ingreso: enero-2005
Ubicación: Santiago
Mensajes: 77
Antigüedad: 19 años, 3 meses
Puntos: 17
Respuesta: Problema con PopUp en GridView - Usando Ajax Toolkit ModalPopupExtender

Te sugiero hacer lo siguiente:

Usa el ModalPopupExtender en la misma Fila de donde esta la imagen. algo asi

Código:
<asp:TemplateField>
                                            <ItemTemplate>
                                                <asp:ImageButton ID="btnUpdate" runat="server" ImageUrl="~/images/editar.gif" Width="15px" Height="15px" CommandName="SelectUpdate" />
<asp:ModalPopupExtender ID="PopPupEditProduct" runat="server" 
        PopupControlID="PanelEditProduct" TargetControlID="HiddenPopPup" BackgroundCssClass="">
    </asp:ModalPopupExtender>
                                            </ItemTemplate>
                                        </asp:TemplateField>
Luego Usas en el VB o en el Cs:
En el Evento rowDataBound de la grilla
Código:
Dim iBehavior As AjaxControlToolkit.ModalPopupExtender = e.Row.FindControl("PopPupEditProduct")
                        iBehavior.BehaviorID = "BHVID_" & e.Row.RowIndex
                        btnUpdate.OnClientClick = "LlenaValores('" & e.Row.DataItem("forID") & "', '" & e.Row.DataItem("Correlativo").ToString & "', '" & e.Row.DataItem("friID").ToString & "'); return false;"
Y en el Javascrpt usas unos Campos Ocultos y los llenas Asi

Código:
<script>
    function LlenaValores(forID, Correlativo, FriID)
    {
        document.getElementById("<%=hdnForID.clientID %>").value = forID;
        document.getElementById("<%=hdnCorrelativo.clientID %>").value = Correlativo;
        document.getElementById("<%=hdnFriID.clientID  %>").value = FriID ;
    }
</script>
Espero te sirva... saludos!!
  #3 (permalink)  
Antiguo 24/09/2012, 07:39
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Problema con PopUp en GridView - Usando Ajax Toolkit ModalPopupExtender

Bueno, disculpa por la tardanza, y gracias por tu sugerencia, pero parece que ya lo resolví, pues me costo pero lo resolví y me salí muy bueno... de verdad gracias...

Solucionado...

Etiquetas: ajax, asp, gridview, modalpopupextender, popup, sql, textbox, toolkit
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 05:01.