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

volcar datos de arrayList a gridView c#

Estas en el tema de volcar datos de arrayList a gridView c# en el foro de ASPX (.net) en Foros del Web. Saludos a los compañeros, agradeceré a cualquiera que me eche una mano, tengo que volcar los datos de un ArrayList a un GridView, con el ...
  #1 (permalink)  
Antiguo 19/01/2014, 03:55
 
Fecha de Ingreso: octubre-2012
Mensajes: 24
Antigüedad: 11 años, 6 meses
Puntos: 0
volcar datos de arrayList a gridView c#

Saludos a los compañeros,

agradeceré a cualquiera que me eche una mano, tengo que volcar los datos de un ArrayList a un GridView,

con el metodo verFechasPorCasa , obtengo las fechas de Entrada y fecha de salida de una determinada casa.

Código:
 public static ArrayList verFechasPorCasa(string casa) {
            ArrayList fechas = new ArrayList();
            string cadena = "SELECT FechaEntrada,FechaSalida FROM Estancias WHERE Casa='"+ casa + "'";
            try
            {
                comando = new OleDbCommand(cadena,conexion);
                comando.Parameters.Add(new OleDbParameter("@Casa",OleDbType.Char));
                comando.Parameters["@Casa"].Value = casa;
                OleDbDataReader reg = comando.ExecuteReader();
                while (reg.Read())
                {
                    fechas.Add(reg["FechaEntrada"]);
                    fechas.Add(reg["FechaSalida"]);
                }
                return fechas;


            }
            catch (OleDbException)
            {
                return fechas;
            }
        
        }
este es mi GridView: verDisponibilidadCasa.aspx


Código:
<asp:GridView ID="gridViewCasas" runat="server" AutoGenerateColumns="false" Width="205px">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:TextBox ID="textBoxGrid1" runat="server"></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>

        </asp:GridView>

y en mi clase VerDisponibilidadCasa.aspc.cs, intento cargar los datos del ArrayList a mi gridViewCasas, pero no me da ninún error, he depurado y el metodo lo hace bien y los datos si están el el array, pero no me los saca en el GridView:


Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.Data;
using System.Data.OleDb;
using System.Data.Common;


public partial class verDisponibilidadCasa : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        string casa = Request.QueryString.Get("value");
        labelCasa.Text = casa;
        //Response.Write(casa);
        try
        {
          
            ArrayList fchas = new ArrayList();

            
            bbdd.abrirBase();
           fchas=bbdd.verFechasPorCasa(casa);
           DataSet ds = new DataSet();
           DataAdapter da = new OleDbDataAdapter();
           
           
           for (int i = 0; i < fchas.Count; i++)
           {
               
              //gridViewCasas.DataSource = fchas[i];
              //gridViewCasas.DataBind();
               //ds.Tables.Add(fchas[i].ToString());
                gridViewCasas.DataSource=ds.Tables.Add(fchas[i].ToString());
                gridViewCasas.DataBind();
           
           }         


        }
        catch (InvalidOperationException)
        {
            Response.Write("problemas conexion");
        }
        bbdd.cerrarBase();
    }
}

Saludos y gracias de nuevo
  #2 (permalink)  
Antiguo 20/01/2014, 02:15
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: volcar datos de arrayList a gridView c#

El problema esta en el bucle. En realidad simplemente tenias que hacer que el dataSource del grid fuese la lista y hacer el binding, sin necesidad de bucles. Por lo que es el resto de código lo veo bien.

Aqui tienes un ejemplo de como usar un ArrayList como DataSource en un grid. Si igualmente sigue sin rellenarte el grid, yo empezaría por lo más sencillo: depurando la aplicación con puntos de interrupción donde haces la select (para ver si efectivamente devuelve un ArrayList con datos) y luego al hacer el binding para ver si el contenido del DataSource tiene datos.
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 20/01/2014, 04:51
 
Fecha de Ingreso: octubre-2012
Mensajes: 24
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: volcar datos de arrayList a gridView c#

Hola Sr.Malenko,
Muchas gracias por su ayuda, le echaré un vistazo a ver si lo puedo sacar.
Saludos cordiales
  #4 (permalink)  
Antiguo 20/01/2014, 06:56
 
Fecha de Ingreso: octubre-2012
Mensajes: 24
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: volcar datos de arrayList a gridView c#

Hola,
a ver hice lo que me dijo, y he después de depurar, la consulta está bien hecha,y los datos de la misma se cargan en el array list,

he probado a cargarlo en un listbox, "ListBoxFechas" (comentado /* */) y lo carga perfectamente.

al pasar el ratón(al depurar) por la parte en negrita, donde se iguala el Gridview.datasource al arraylist, en fchas, se muestran las fechas, pero al final
no se porque, solo muestra la parrilla,y no las fechas,

Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.Data;
using System.Data.OleDb;
using System.Data.Common;


public partial class verDisponibilidadCasa : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        string casa = Request.QueryString.Get("value");
        labelCasa.Text = casa;
        //Response.Write(casa);
        try
        {
          
            ArrayList fchas = new ArrayList();

            
            bbdd.abrirBase();
           fchas=bbdd.verFechasPorCasa(casa);

            /*
           for (int i = 0; i < fchas.Count; i++)
           {
               ListBoxFechas.Items.Add(fchas[i].ToString());
           }
             */
           //DataSet ds = new DataSet();
           //DataAdapter da = new OleDbDataAdapter();

           gridViewCasas.DataSource = fchas;                      
           gridViewCasas.DataBind();
          

           
           /*
           for (int i = 0; i < fchas.Count; i++)
           {
               
              //gridViewCasas.DataSource = fchas[i];
              //gridViewCasas.DataBind();
               //ds.Tables.Add(fchas[i].ToString());
                gridViewCasas.DataSource=ds.Tables.Add(fchas[i].ToString());
                gridViewCasas.DataBind();



           
           }
            */
          


        }
        catch (InvalidOperationException)
        {
            Response.Write("problemas conexion");
        }
        bbdd.cerrarBase();
    }
}

Saludos nuevamente y gracias por su ayuda.
  #5 (permalink)  
Antiguo 27/01/2014, 00:37
 
Fecha de Ingreso: mayo-2011
Mensajes: 20
Antigüedad: 13 años
Puntos: 2
Respuesta: volcar datos de arrayList a gridView c#

Que tal serenimusmoriarty,

No se si ya lo solucionaste pero cambia tu gridview en tu vista diseño de esta manera (lo tienes amarrado a un itemtemplate, por eso no te cargaba datos pero si las filas):

<asp:GridView ID="gridViewCasas" runat="server" Width="205px"></asp:GridView>

De igual manera te recomiendo que desde la consulta devuelvas mejor un dataset y no una lista para que ya no lo cargues despues a uno mismo.

Te paso un ejemplo[URL="http://stackoverflow.com/questions/6584817/direct-method-from-sql-command-text-to-dataset"]http://stackoverflow.com/questions/6584817/direct-method-from-sql-command-text-to-dataset[/URL]

Saludos!

Etiquetas: gridview
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 12:45.