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

imagenes en el datagrid a partir de base de datos parte 2

Estas en el tema de imagenes en el datagrid a partir de base de datos parte 2 en el foro de .NET en Foros del Web. aqui continuamos ... ahora lo mas importante... este es el aspx que trae los datos de una base de datos.. se tiene que llamar ViewImage.aspx ...
  #1 (permalink)  
Antiguo 19/07/2005, 08:04
 
Fecha de Ingreso: julio-2005
Ubicación: Córdoba
Mensajes: 254
Antigüedad: 18 años, 9 meses
Puntos: 0
Mensaje imagenes en el datagrid a partir de base de datos parte 2

aqui continuamos ...


ahora lo mas importante... este es el aspx que trae los datos de una base de datos.. se tiene que llamar ViewImage.aspx

Código:
Imports System.Data.OleDb

Public Class ViewImage
    Inherits System.Web.UI.Page

"Region   codigo generado por el diseñador bla bla"

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
Dim ImageId As String = Request.QueryString("img")

        Try
            Dim con As OleDbConnection
            con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("FileDb.mdb").ToString & "")
            Dim sql As String = "SELECT Files.FileData, Files.ContentType FROM (Files) WHERE ((Files.ID)=" & ImageId & " )"
            Dim dralu As OleDbDataReader
            Dim cmd As OleDbCommand
            cmd = New OleDbCommand(sql, con)
            con.Open()
            dralu = cmd.ExecuteReader
            If dralu.Read Then
                Response.ContentType = dralu.Item("ContentType").ToString

                Response.BinaryWrite(dralu.Item("FileData"))
            Else

            End If
            con.Close()
            cmd.Dispose()
            con.Dispose()
        Catch err As OleDbException
            Exit Sub
        Catch err As Exception
            Exit Sub
        End Try

    End Sub

End Class

Ahora lo que esperabamos todos ... la hoja del datagrid.... que en mi caso se llama webfom1 y contiene un datagrid que tiene una columna de numero de orden, otra con el nombre , otra con un comentario, y otra para LAS FOTOS esta ultima y la primera son Templatecollum o columna plantilla

y el codigo htm de la pagina es este:

Código HTML:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="autoalbum.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
	<HEAD>
		<title>WebForm1</title>
		<meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
		<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
		<meta content="JavaScript" name="vs_defaultClientScript">
		<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
	</HEAD>
	<body MS_POSITIONING="GridLayout">
		<form id="Form1" method="post" runat="server">
			&nbsp;
			<asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 94px; POSITION: absolute; TOP: 57px" runat="server" Width="293px" AutoGenerateColumns="False" CellSpacing="2" CellPadding="4" BorderColor="#999999" BorderStyle="Solid" BorderWidth="0px" BackColor="#CCCCCC" ForeColor="Black">
				<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#000099"></SelectedItemStyle>
				<ItemStyle BackColor="White"></ItemStyle>
				<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="Black"></HeaderStyle>
				<FooterStyle BackColor="#CCCCCC"></FooterStyle>
				<Columns>
					<asp:TemplateColumn HeaderText="Numero de Orden">
						<ItemTemplate>
							<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ID") %>'>
							</asp:Label>
						</ItemTemplate>
						<EditItemTemplate>
							<asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ID") %>'>
							</asp:TextBox>
						</EditItemTemplate>
					</asp:TemplateColumn>
					<asp:BoundColumn DataField="First Name" HeaderText="Nombre del Usuario"></asp:BoundColumn>
					<asp:BoundColumn DataField="Last Name" HeaderText="Comentario"></asp:BoundColumn>
					<asp:TemplateColumn HeaderText="foto">
						<ItemTemplate>
							<asp:HyperLink Tooltip="Click aqui para ver imagen original" Target="_blank" NavigateUrl='<%# "ViewImage.aspx?img=" + Cstr(DataBinder.Eval(Container, "DataItem.ID")) %>' ImageUrl='<%# "ViewImage.aspx?img=" + Cstr(DataBinder.Eval(Container, "DataItem.ID")) %>' Width="120" Height="120" Runat="server" ID="Foto" />
						</ItemTemplate>
					</asp:TemplateColumn>
				</Columns>
				<PagerStyle HorizontalAlign="Left" ForeColor="Black" BackColor="#CCCCCC" Mode="NumericPages"></PagerStyle>
			</asp:datagrid></form>
	</body>
</HTML> 
Bueno para finalizar, quiero decir que hay que declarar en la parte Vbasic del webform1.aspx, la datagrid, y llenar su datasource con un dataset que traiga los demas datos menos la foto que la trae viewimage y con eso llenar las colunas que restan.


para completar les muestro la forma de la base de datos que deben usar para que funcione tal cual esta...

Id Autonumerico Key
File Name Texto
FileSize Numero
FileData Objeto Ole
ContentType Texto
First Name Texto
Last Name Texto
Profession Texto

Nota:
El que tenga ya hecho un programa para subir ficheros puede usarlo, este post es largo por que contiene todo para subir y leer imagenes... sino seria cortito.. solo la parte de traer y mostrar...

Espero que sirva.. y hasta la proxima
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 21:19.