Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/07/2008, 02:06
guillermoesteban
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 3
Respuesta: hyperlinkcolumn, databound...

No se si te entiendo bien, quieres que el nombre del fichero lo ponga como un link y al pulsarlo se descargue,no??

Para eso yo añado un templatecolumn al datagrid con CommandName="Descargar"

<asp:TemplateColumn HeaderText="Nombre fichero">
<ItemTemplate>
<asp:LinkButton id="LinkFichero" CommandArgument='<%# DataBinder.Eval(Container, "DataItem.NOMBRE_ARCHIVO") %>' CommandName="Descargar" runat="server"> <%# DataBinder.Eval(Container, "DataItem.NOMBRE_ARCHIVO") %>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>

Y en el metodo ItemCommand
Private Sub DataGrid1_ItemCommand(ByVal ......) Handles DataGrid1.ItemCommand
Select Case e.CommandName
Case "Descargar"
Dim MiPath As String = ConfigurationSettings.AppSettings("pathdocs_superv ision")
Dim MyFile As System.IO.FileInfo = New System.IO.FileInfo(MiPath & e.CommandArgument)
If MyFile.Exists Then
'descargar
Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=" & e.CommandArgument)
Response.AddHeader("Content-Length", MyFile.Length.ToString())
Response.ContentType = "application/octet-stream"
Response.WriteFile(MyFile.FullName)
Response.End()
Else
Response.write ("No se ha encontrado el fichero")
Exit Sub
End If
End Select
End Sub


Espero que te valga. Yo pongo el icono del tipo de fichero en el datagrid. Queda mejor