como hacer referencia cruzada para acomodar datos en columnas asp.net c#

Iniciado por Guillito, 4 Noviembre 2016, 15:47 PM

0 Miembros y 1 Visitante están viendo este tema.

Guillito

Hola, como les va?.....los molesto para saber si me pueden decir como haria una referencia cruzada para solucionar lo sig:

- debo llenar una Grid con las notas de un alumno Horizontalmente, en Nota1, Nota2, Nota3, Trim1, Nota 4, Nota 5, Nota6, Trim2, Nota7, Nota8, Nota9, Trim3.....

En la Tabla Notas, estan verticalmente y por Fecha..............

Dejo codigo y Captura de Pantalla de Grid para Graficar.....

Agradezco lo que me puedan aporten......Abrazos.....

Código (csharp) [Seleccionar]
public List<AsistenciaEntity> getAlMat(int Alumno)
        {
            try
            {
                connection.Open();
                command.Parameters.AddWithValue("@Alum", Alumno);

                command.CommandText = @"SELECT B.Id_Alumno, B.Nombre, B.Apellido, B.Dni, D.Id_Materia, D.Nombre AS NombreMateria, A.Id_Turno, N.Id_Nota, N.Nota, N.Trimestre
                                        FROM                                    
                                    MateriaPorAlumno AS A,
                                    Alumno AS B,
                                    TurnoMateria AS C,
                                    Materias AS D,
                                        Notas AS N                                     
                                        WHERE
                                        A.Id_Alumno = B.Id_Alumno AND
                                    C.Id_Turno = A.Id_Turno AND
                                    D.Id_Materia = C.Id_Materia AND
                                        N.Id_MateriaPorAlumno = A.Id AND                                                                       
                                        B.Id_Alumno = @Alum Order By N.[Trimestre] Asc";

                     
                OleDbDataReader lector = command.ExecuteReader();
           try
            {   
                List<AsistenciaEntity> listAsistencia = new List<AsistenciaEntity>();
                while (lector.Read())
                {
                    AsistenciaEntity asistencia = new AsistenciaEntity();
                    asistencia.Turno = new TurnoEntity();
                    asistencia.Turno.Materia = new MateriaEntity();
                    asistencia.Turno.Materia.Id_Materia = Convert.ToInt32(lector["Id_Materia"].ToString());
                    asistencia.Turno.Materia.Nombre = lector["NombreMateria"].ToString();

                    asistencia.Alumno = new AlumnoEntity();
                    asistencia.Alumno.Id_Alumno = Convert.ToInt32(lector["Id_Alumno"].ToString());
                    asistencia.Alumno.Nombre = lector["Nombre"].ToString();
                    asistencia.Alumno.Apellido = lector["Apellido"].ToString();
                    asistencia.Alumno.Dni = Convert.ToInt32(lector["Dni"].ToString());

                    asistencia.MateriaPorAlumno = new MateriaPorAlumnoEntity();
                    asistencia.MateriaPorAlumno.Turno = new TurnoEntity();
                    asistencia.MateriaPorAlumno.Turno.Id_Turno = Convert.ToInt32(lector["Id_Turno"].ToString());

                    asistencia.Nota = new NotaEntity();
                    asistencia.Nota.Id_Nota = Convert.ToInt32(lector["Id_Nota"].ToString());
                    asistencia.Nota.Nota = Convert.ToInt32(lector["Nota"].ToString());
                    asistencia.Nota.Trimestre = Convert.ToInt32(lector["Trimestre"].ToString());

                    listAsistencia.Add(asistencia);

                }
                return listAsistencia;
            }
            catch (Exception ex)
            {
                throw ex;
            }





Mod: Esto va en .net, movido. Imagen ajustada a las reglas del foro.