Ayuda con tabla en asp.net

Me gustaría saber si me puedes ayudar con estas dos cositas.. Tengo una página en la cuál tengo un código que me crea una tabla y me llena con los archivos que tengo en un servidor... El primer problema es que la tabla que se crea con esos datos me la pone arriba de todo.. ¿cómo hago para cambiarla de lugar (tengo una masterpage y en esta va la información y la tabla me la coloca fuera de la master page)? Lo segundo es que quiero que una columna de esas contenga un link.. ¿cómo le puedo hacer para ello? A continuación te dejo el código que estoy utilizando:
string archivo = null;
                    string carpeta = null;
                    //para el nombre de archivos y carpetas
                    string[] sArchivos = null;
                    string[] sCarpetas = null;
                    //array con los nombres de archivos y carpetas
                    DirectoryInfo carpetaInfo = default(DirectoryInfo);
                    //objeto para extraer propiedades de las carpetas
                    FileInfo archivoInfo = default(FileInfo);
                    //objeto para extraer propiedades de los archivos
                    try
                    {
                        //array con los nombres de archivo en el directorio actual
                        sArchivos = Directory.GetFiles(nn);
                        sCarpetas = Directory.GetDirectories(nn);  
                        //número de archivos en el directorio
                        int ii = sArchivos.Length;
                        //crear la tabla y la cabecera con títulos de columnas
                        Response.Write("
<table align=center borderwidth=1 style='font-family:Microsoft Sans Serif; font-size:12px;'>
");
                        Response.Write("
<tr style='background-color:#5D7B9D; color:white; font-weight:bold;'>
");
                        Response.Write("
<td>Tipo de Archivo y Nombre</td>
");
                        Response.Write("
<td align=center>Tamaño</td>
");
                        Response.Write("
<td align=center>Abrir</td>
");
                        //sección que lista los archivos que cuelgan directamente del directorio actual
                        //condiciones: listar sólo en carpetas con al menos 1 archivo
                        if (ii > 0)
                        {
                            Response.Write("
<tr>
<td colspan=4 align=center style='background-color:white; color:black;'>");
                            Response.Write("<b>Directorio " + nn + " = <b>" + ii + @"\" + " archivos</b>");
                        }
                        Response.Write("</td>
</tr>
");
                        //Obtener lista de archivos contenidos en el directorio actual
                        foreach (string archivo_loopVariable in sArchivos)
                        {
                            archivo = archivo_loopVariable;
                            archivoInfo = new FileInfo(archivo);
                           ...

1 respuesta

Respuesta
1
Pues nunca he exportado una tabla html a pdf. Pero creo este link te puede ayudar.
http://www.forosdelweb.com/f15/solucion-para-exportar-excel-word-pdf-387203/
Cualquier cosa seguimos en contacto.
Actualización: El link en la tabla ya lo cree.. solo me falta como hacer para que me muestre pdf.. si me puedes ayudar con eso te lo agradecería mucho.. Saludos!
Mmm.. no me sirvió.. pero o bueno no sabes como llenar con esos mismos datos que tengo en ese código una tabla ya definida con columnas.. es tabla html.. es que la cree donde debe de ir pero no se como cargarla con los datos que me genera ese código.. ¿alguna sugerencia? Es que lo que estoy haciendo es en una tabla listar las carpetas (son varias) con sus respectivos archivos que se encuentran en POR directorio, lo explico por si se te ocurre una mejor forma de llenar ya sea un gridview o un datagrid o tabla.. de antemano te doy las gracias!
Hola.. bueno.. te informo que no pude solucionar eso.. pero logré mostrar los datos en un gridview.. lo único que me falta es que tenga esta estructura:
Tipo de Archivo|Archivo      |Abrir|Eliminar|
Carpeta1         |archivo.pdf |Abrir|Eliminar|
Carpeta1         |arch.pdf     |Abrir|Eliminar|
Carpeta2         |aaa.pdf      |Abrir|Eliminar|

Entonces si me sale la información del nombre del archivo.. pero me falta la de la carpeta que contiene el archivo.. ¿no sabes como puedo solucionar esto? El código que tengo en el gridview es el siguiente:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
    ForeColor="#333333" GridLines="None" Font-Names="Microsoft Sans Serif"
        Font-Size="12px">
    <RowStyle BackColor="#EFF3FB" />
    <Columns>
      <asp:TemplateField HeaderText="Tipo de Archivo">
            <ItemTemplate>
                <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
            </ItemTemplate>
            <EditItemTemplate>
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            </EditItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Archivos">
            <ItemTemplate>
                <asp:HyperLink ID="nombre" runat="server" NavigateUrl='<%# Eval("Name", "~/files/{0}") %>'
                   Text='<%# Eval("Name") %>'>
                </asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:CommandField HeaderText="Eliminar"
            ShowDeleteButton="True" ShowHeader="True" />
    </Columns>
    <FooterStyle BackColor="#F7F6F3" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <EditRowStyle BackColor="#2461BF" />
    <AlternatingRowStyle BackColor="White" />
</asp:GridView>
Y el codgio para llenar el Gridview es:
DirectoryInfo dirInfo = new DirectoryInfo(pathp + @"\" + ddl_docs.Items.Text);
                        FileInfo[] fileInfo = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);
                        string dirnameX = nn + @"\" + ddl_docs.Items.Text + @"\";
                        GridView1.DataSource = fileInfo;
                        GridView1.DataBind();
Tomando en cuenta qu: pathp=Direccion completa de donde vamos a sacar los archivos
ddl_docs = Al dropdownlist donde está el nombre de las carpetas
nn=direccion
Esepro tu pronto respuesta. Gracias!
Puede obtener las carpetas con el objeto FileSystemObject tanto archivo como carpetas, te paso este link donde viene algo de código.
http://support.microsoft.com/kb/303974/es
Lo que no te entendi bien es que si quieres que todo archivo que este en la carpeta se pueda abrir como pdf, ¿o todos dos archivos son pdf?
Gracias por la página.. ahorita lo checo.. verás los archivos que se encuentra en cada carpeta son en pdf.. entonces lo tengo en un itemtemplate en el gridview el cual es un link y pues e supone que me debe de abrir el documento.. eso no puedo hacerlo todavía.. te agradecería si me das una idea al respecto.. Tengo la idea de que al cargarse la página me copie los archivos en la carpeta del proyecto web.. pero no me los copia.. ¿cuál es el código para copiar archivos?
Ahh ok.
Suponiendo que los archivos están en tu servidor, tienes varias opciones abrir el pdf:
Abrirlo desde el explorador:
Response.Clear(); Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.TransmitFile("ruta del pdf"); //
Response.End();
o mandar el mesaje de guardar o abrir el archivo:
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment; filename=" + "nombreArchivo");
Response.ContentType = "application/pdf";
Response.TransmitFile("ruta del pdf");
Response.End();
Y para el manejo de archivos, copiar, borrar, mover etc.. usas system. IO te paso otro link donde te explican más a detalle.
http://msdn.microsoft.com/es-es/library/cc148994.aspx

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas