Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Guillito en 4 Noviembre 2016, 15:47 pm



Título: como hacer referencia cruzada para acomodar datos en columnas asp.net c#
Publicado por: Guillito en 4 Noviembre 2016, 15:47 pm
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
  1. public List<AsistenciaEntity> getAlMat(int Alumno)
  2.        {
  3.            try
  4.            {
  5.                connection.Open();
  6.                command.Parameters.AddWithValue("@Alum", Alumno);
  7.  
  8.                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
  9.                                        FROM                                    
  10.                                    MateriaPorAlumno AS A,
  11.                                    Alumno AS B,
  12.                                    TurnoMateria AS C,
  13.                                    Materias AS D,
  14.                                        Notas AS N                                      
  15.                                        WHERE
  16.                                        A.Id_Alumno = B.Id_Alumno AND
  17.                                    C.Id_Turno = A.Id_Turno AND
  18.                                    D.Id_Materia = C.Id_Materia AND
  19.                                        N.Id_MateriaPorAlumno = A.Id AND                                                                        
  20.                                        B.Id_Alumno = @Alum Order By N.[Trimestre] Asc";
  21.  
  22.  
  23.                OleDbDataReader lector = command.ExecuteReader();
  24.           try
  25.            {  
  26.                List<AsistenciaEntity> listAsistencia = new List<AsistenciaEntity>();
  27.                while (lector.Read())
  28.                {
  29.                    AsistenciaEntity asistencia = new AsistenciaEntity();
  30.                    asistencia.Turno = new TurnoEntity();
  31.                    asistencia.Turno.Materia = new MateriaEntity();
  32.                    asistencia.Turno.Materia.Id_Materia = Convert.ToInt32(lector["Id_Materia"].ToString());
  33.                    asistencia.Turno.Materia.Nombre = lector["NombreMateria"].ToString();
  34.  
  35.                    asistencia.Alumno = new AlumnoEntity();
  36.                    asistencia.Alumno.Id_Alumno = Convert.ToInt32(lector["Id_Alumno"].ToString());
  37.                    asistencia.Alumno.Nombre = lector["Nombre"].ToString();
  38.                    asistencia.Alumno.Apellido = lector["Apellido"].ToString();
  39.                    asistencia.Alumno.Dni = Convert.ToInt32(lector["Dni"].ToString());
  40.  
  41.                    asistencia.MateriaPorAlumno = new MateriaPorAlumnoEntity();
  42.                    asistencia.MateriaPorAlumno.Turno = new TurnoEntity();
  43.                    asistencia.MateriaPorAlumno.Turno.Id_Turno = Convert.ToInt32(lector["Id_Turno"].ToString());
  44.  
  45.                    asistencia.Nota = new NotaEntity();
  46.                    asistencia.Nota.Id_Nota = Convert.ToInt32(lector["Id_Nota"].ToString());
  47.                    asistencia.Nota.Nota = Convert.ToInt32(lector["Nota"].ToString());
  48.                    asistencia.Nota.Trimestre = Convert.ToInt32(lector["Trimestre"].ToString());
  49.  
  50.                    listAsistencia.Add(asistencia);
  51.  
  52.                }
  53.                return listAsistencia;
  54.            }
  55.            catch (Exception ex)
  56.            {
  57.                throw ex;
  58.            }

(https://social.msdn.microsoft.com/Forums/getfile/958256)


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