none
Llenar GridView RRS feed

  • Pregunta

  • Hola, les consulto que debo llenar gridView de Capa Presentacion, y tengo codificado en la Capa de Negocio la carga de una Tabla con lo obtenido en Select mas los parametros pasados de lo que tomo en otros dos Grids (GridCurso y GridMateria), pero debo llenar el Grid en la Capa de Presentacion, y da Error.....

    Dejo codigo para graficar y si Uds. pueden hacer llenar este GridNuevaAsist.....Gracias, abrazo

    Codigo Capa Negocio

    public DataTable fillListView(string OleDbCommand, int idCurso, int idMateria)    ///Aqui los parametros de GridCurso y GridMateria de Capa Presentacion///
            {
                try
                {          
                      
                    connection.Open();
                    command.Parameters.AddWithValue("@idCurso", idCurso); 
                    command.Parameters.AddWithValue("@idMateria", idMateria);
    
                    string SQL = @"SELECT alum.Id_Alumno, alum.Nombre AS NombreAlumno, alum.Apellido, alum.Dni, 
                                            mpal.Id, turm.Id_Turno
                                            FROM (TurnoMateria turm INNER JOIN MateriaPorAlumno mpal ON mpal.Id_Turno = turm.Id_Turno)                                         
                                            INNER JOIN Alumno alum ON alum.Id_Alumno = mpal.Id_Alumno                                                                              
                                            WHERE turm.Id_Curso = @idCurso AND turm.Id_Materia = @idMateria";
    
                    OleDbCommand comando = new OleDbCommand(SQL, connection);
                    Adaptador = new OleDbDataAdapter(OleDbCommand, connection);
                    DataTable tabla = new DataTable();
                    Adaptador.Fill(tabla);
                                    
                    return tabla;
                }

    Codigo Capa Negocio que llena Tabla

         CargoDato();
            }
    
            protected void CargoDato()
            {
                AccesoLogicaMateriaPorAlumno MateriaPorAlumnoDAO = new AccesoLogicaMateriaPorAlumno();
    
                GridNuevaAsist.DataSource = <u>fillListView(idCurso, idMateria);<u> ///me marca error
                GridNuevaAsist.DataKeyNames = new string[] { "Id_Alumno" };
                GridNuevaAsist.DataBind();
                                                    
    

    Saludos,...

    domingo, 2 de octubre de 2016 2:20

Respuestas

  • Hola GuilloFerrero,

    Verifica que el método no sea privado sino público, y que tenga los mismos parámetros que le envías.

    Eso te darás cuenta, si mientras escribes el mpae. no te autocompleta el nombre del método.

    Qué valores asignas al idCurso e idMateria ?

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta GuilloFerrero lunes, 3 de octubre de 2016 1:02
    domingo, 2 de octubre de 2016 20:07
  • Esta todo como debiera ser, pero no me reconoce el metodo.......Pregunta si falta un referencia de ensamblado o un using, sera esto??..............Debere apagar la pc y reiniciarla'??

    Hola GuilloFerrero,

    No es necesario reiniciar la pc.

    Ya que tu proyecto está realizado en capas, ya agregaste la referencia a la capa en donde se encuentra AccesoLogicaMateriaPorAlumno ? Fíjate en la sección de using, que tengas referenciado a la capa.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta GuilloFerrero lunes, 3 de octubre de 2016 1:02
    domingo, 2 de octubre de 2016 21:41

Todas las respuestas

  • Hola GuilloFerrero,

    Pero tu método necesita de 3 parámetros, y le envías solo 2.

          public DataTable fillListView(int idCurso, int idMateria)
            {
                try
                {
                    using (OleDbConnection con = new OleDbConnection())
                    {
                        con.Open();
                        string SQL = @"SELECT alum.Id_Alumno, .....";
    
                        OleDbDataAdapter da = new OleDbDataAdapter(SQL, con);
                        da.SelectCommand.Parameters.AddWithValue("@idCurso", idCurso);
                        da.SelectCommand.Parameters.AddWithValue("@idMateria", idMateria);
    
                        DataTable tabla = new DataTable();
                        da.Fill(tabla);
    
                        return tabla;
                    }
                }
                catch (Exception ex)
                {
                    //Hacer algo con la excepción
                    return null;
                }
            }

    Por lo que al llamarlo quedaría :

         DataTable dt = fillListView(idCurso, idMateria);
    
         if(dt != null)
         {
             GridNuevaAsist.DataSource = dt;
             GridNuevaAsist.DataKeyNames = new string[] { "Id_Alumno" };
             GridNuevaAsist.DataBind();
         }
         //Agregar else si es necesario

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    domingo, 2 de octubre de 2016 3:05
  • Hola Joel, me da este Error:

    No me reconoce el metodo, que lo instancie asi, pero tampoco me lo reconoce...Dejo el codiguito de la instanciada de Capa Presentacion....

     AccesoLogicaMateriaPorAlumno mpae = new AccesoLogicaMateriaPorAlumno();
           
                DataTable dt = mpae.fillListView(idCurso, idMateria);  ///Aqui marca el Error///
    
                if (dt != null)
                {
                    GridNuevaAsist.DataSource = dt;
                    GridNuevaAsist.DataKeyNames = new string[] { "Id_Alumno" };
                    GridNuevaAsist.DataBind();
                }      
    
    Gracias si me hacer conocer lo que sucede y su solucion...

    domingo, 2 de octubre de 2016 19:29
  • Hola GuilloFerrero,

    Verifica que el método no sea privado sino público, y que tenga los mismos parámetros que le envías.

    Eso te darás cuenta, si mientras escribes el mpae. no te autocompleta el nombre del método.

    Qué valores asignas al idCurso e idMateria ?

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta GuilloFerrero lunes, 3 de octubre de 2016 1:02
    domingo, 2 de octubre de 2016 20:07
  • Esta todo como debiera ser, pero no me reconoce el metodo.......Pregunta si falta un referencia de ensamblado o un using, sera esto??..............Debere apagar la pc y reiniciarla'??
    domingo, 2 de octubre de 2016 21:26
  • Esta todo como debiera ser, pero no me reconoce el metodo.......Pregunta si falta un referencia de ensamblado o un using, sera esto??..............Debere apagar la pc y reiniciarla'??

    Hola GuilloFerrero,

    No es necesario reiniciar la pc.

    Ya que tu proyecto está realizado en capas, ya agregaste la referencia a la capa en donde se encuentra AccesoLogicaMateriaPorAlumno ? Fíjate en la sección de using, que tengas referenciado a la capa.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta GuilloFerrero lunes, 3 de octubre de 2016 1:02
    domingo, 2 de octubre de 2016 21:41
  • en la seccion Resultados, me da este Error, que estimo que pasa por aqui el error: Es la Capa Negocios que no me reconoce, creo...

    "Error 4 No se puede encontrar el archivo de metadatos 'C:\Users\Guillermo\Desktop\Guillermo\Cenma215 - 2 (Guille)\Cenma215(Willy) - 2\Negocio\bin\Debug\Negocio.dll' Presentacion"

    ??????, limpio la solucion y la genero, pero no pasa nada.....??????

    domingo, 2 de octubre de 2016 21:58