[ Foro de C# ]
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();
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?
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.)