[ Foro de C# ]

Llenar GridView desde otra Capa asp.net c#

05-Oct-2016 15:13
aaaaaaa bbbbbbb
2 Respuestas

Hola como les va??, disculpen que los moleste, debo llenar un Gridview con metodo desde Capa Negocio; pero con lo que tengo, cuando llamo al webform, en Capa Presentacion, no me reconoce metodo "fillListView".......

Dejo codigo de los dos Capas, para que vean y si pueden darme una mano, me ayuden a solucionalo, abrazos...

En Capa Negocio


public DataTable fillListView(int Curso, int Materia)
        {
            try
            {
                using (OleDbConnection con = new OleDbConnection())
                {
                    con.Open();

                    string SQL = @"SELECT alum.Id_Alumno, alum.Nombre, 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";

                    OleDbDataAdapter da = new OleDbDataAdapter(SQL, con);
                    da.SelectCommand.Parameters.AddWithValue("@idCurso", Curso);
                    da.SelectCommand.Parameters.AddWithValue("@idMateria", Materia);
                    DataTable tabla = new DataTable();
                    da.Fill(tabla);

                    return tabla;
                }
            }


En Capa Presentacion(se aprecia de dode obtengo idCurso, de Grilla Curso, e idMateria, de la Grilla Materia


protected void GridCurso_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Se obtiene la fila seleccionada del gridview

            GridViewRow row = GridCurso.SelectedRow;

            // Obtengo el id de la entidad que se esta editando
            // en este caso de la entidad Curso
            idCurso = Convert.ToInt32(GridCurso.DataKeys[row.RowIndex].Value);

            CargarData();
        }
        private void CargarData()
        {
            AccesoLogicaMateria materiaDao = new AccesoLogicaMateria();
            GridMateria.DataSource = materiaDao.getByCurso(idCurso);
            GridMateria.DataKeyNames = new string[] { "Id_Materia" };
            GridMateria.DataBind();
        }

        protected void GridMateria_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Se obtiene la fila seleccionada del gridview

            GridViewRow row = GridMateria.SelectedRow;

            // Obtengo el id de la entidad que se esta editando
            // en este caso de la entidad Materia
            idMateria = Convert.ToInt32(GridMateria.DataKeys[row.RowIndex].Value);

            CargoDato();
        }

        protected void CargoDato()
        {
            AccesoLogicaMateriaPorAlumno mpae = new AccesoLogicaMateriaPorAlumno();
            
                GridNuevaAsist.DataSource = mpae.fillListView(idCurso, idMateria);
                GridNuevaAsist.DataKeyNames = new string[] { "Id_Alumno" };
                GridNuevaAsist.DataBind();

         


08-Oct-2016 16:53
Nacho Cabanes (+84)

Aparentemente, si tu primera clase, de la que no se ve el nombre, es de tipo "AccesoLogicaMateriaPorAlumno", deberías poder acceder, porque el método es público. ¿Qué error exacto obtienes?


08-Oct-2016 17:14
aaaaaaa bbbbbbb

Hola, Nacho, arriba del codigo que posteo, dice a que Capa pertenece el mismo...

el error que me da es:

"no reconoce el metodo "fillListView" en el GridNuevaAsist.DataSource.....

en la Capa Presentacion,

No se si es porque lo declare como "DataTable" o que, pero cuando instancio la Capa de Negocio, Ej:

AccesoLogicaMateriaPorAlumno mpae = new  AccesoLogicaMateriaPorAlumno();

GridNuevaAsist.DataSource = mpae.fillListView (idCurso, idMateria)    ///Aca no me reconoce el fillListView///

Coloco GridNuevaAsist.DataSource = mpae.////Aqui me lista el fillListView, pero al compilar, me dice que no reconoce el fillListView.....?????

Ese sucede






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)