none
no funciona gridview1_selectecindexchanged RRS feed

  • Pregunta

  • Hola, necesito ayuda tengo una gridview la cual al darle a un imagen de cada fila debería de descargar un archivo, pero al darle click no me esta entrando al método changed para realizar lo

    ayuda por favor

    Public Class ListaInformesSubidos

        Inherits System.Web.UI.Page
        Dim cl As New ControladorLogica
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load



            'If CheckBoxList1.Items(0).Selected Then
            'CheckBoxList1.Items(1).Selected = False
            Dim listabla As DataTable = cl.obtenerTabla()
            GridView1.DataSource = listabla
            GridView1.DataBind()
            '  ElseIf CheckBoxList1.Items(1).Selected Then
            ' CheckBoxList1.Items(0).Selected = False
            ' Dim listabla As DataTable = cl.getPersona()
            ' GridView1.DataSource = listabla
            ' GridView1.DataBind()
            ' End If



        End Sub


        Protected Sub GridView1_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GridView1.RowCommand

        End Sub


        Protected Sub GridView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridView1.SelectedIndexChanged
            ' Se obtiene la fila seleccionada del gridview
            Dim row As GridViewRow = GridView1.SelectedRow
            Dim listabla As DataTable = cl.obtenerTabla()
            ' Obtengo el id de la entidad que se esta editando
            'Dim url As String = (GridView1.DataKeys(row.RowIndex).Value).ToString()
            Dim url As Integer = Convert.ToInt32(GridView1.DataKeys(row.RowIndex).Value)
            'MessageBox.Show(url);
            'MessageBox.Show(tabla.getUrl());
            For i As Integer = 0 To listabla.Rows.Count

                If url.Equals(listabla.Rows(0).Item(i)) Then
                    Dim extencion As String = cl.obtenerExtencion(url)

                    Response.Clear()
                    Dim file As New FileInfo(url)
                    Response.ClearContent()
                    Response.ClearHeaders()
                    If extencion.Equals(".pdf") Then
                        Context.Response.ContentType = "Application/pdf"
                        Context.Response.AppendHeader("Content-Disposition", "inline; filename=" & file.Name)
                        Context.Response.AppendHeader("Content-Length", file.Length.ToString())
                        Context.Response.WriteFile(file.FullName)
                        Response.TransmitFile(url)
                        Response.End()

                    End If

                End If

            Next

        End Sub


    End Class

     <asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"
                                                AutoGenerateColumns="False" DataKeyNames="Ruta" OnRowCommand="GridView1_RowCommand" BackColor="#339966" BorderColor="White">
                                                <Columns>
                                                    <asp:TemplateField HeaderText="Descargar">
                                                        <ItemTemplate>
                                                            <asp:ImageButton ID="imagen" runat="server" CommandName="Select" ImageUrl="../Images/orderedList0.png" Style="width: 40px; height: 40px;" />
                                                        </ItemTemplate>
                                                         </asp:TemplateField>
                                                       <asp:TemplateField HeaderText="Vista Previa">
                                                        <ItemTemplate>
                                                            <a href="file:///C:\Userscbast\Desktop\Nueva carpeta\informe12333"> Vista </a> 
                                                        </ItemTemplate>
                                                    </asp:TemplateField>
                                                    <asp:BoundField HeaderText="Nombre" DataField="nombre" />                              
                                                         </Columns>
                                            </asp:GridView>

       
    viernes, 3 de febrero de 2017 19:33

Todas las respuestas

  • Hola , en el load donde cargas tu grilla debería estar entre el bloque de codigo que valide si es un postback Page.IsPostback ,es decir si es la priemra vez que se carga la página o si es el resultado de devolver una respuesta a alguna acción en los controles

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Page.IsPostBack Then 'If CheckBoxList1.Items(0).Selected Then 'CheckBoxList1.Items(1).Selected = False

      Dim cl As New ControladorLogica Dim listabla As DataTable = cl.obtenerTabla() GridView1.DataSource = listabla GridView1.DataBind() ' ElseIf CheckBoxList1.Items(1).Selected Then ' CheckBoxList1.Items(0).Selected = False ' Dim listabla As DataTable = cl.getPersona() ' GridView1.DataSource = listabla ' GridView1.DataBind() ' End If End If End Sub

    recuerda que en el ciclo de vida de un webform siempre se lanzan estos eventos cuando interaccionas con el webform ciclo de vida

    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.





    • Editado Augusto1982 viernes, 3 de febrero de 2017 19:59
    viernes, 3 de febrero de 2017 19:42
  • lo hice, pero ahora no s eme carga la gridview :S

    gracias igual

    viernes, 3 de febrero de 2017 19:46