public override void LoadGrid()
    {
        MateriaLogic ml      = new MateriaLogic();
        PersonaLogic pl      = new PersonaLogic();
        DataTable    tabla   = new DataTable();
        DataTable    retorno = null;
        DataRow      rowTabla;

        tabla.Columns.Add("ID", typeof(int));
        tabla.Columns.Add("Materia", typeof(string));
        tabla.Columns.Add("Texto", typeof(string));

        PersonaActual = pl.GetOne(((Usuario)Session["usuario"]).IdPersona);

        foreach (DataRow row in Logic.GetAll(PersonaActual.ID).Rows)
        {
            if (!((string)row["condicion"]).Equals("Libre"))
            {
                rowTabla            = tabla.NewRow();
                rowTabla["ID"]      = (int)row["id_materia"];
                rowTabla["Materia"] = (string)row["desc_materia"];

                if ((string)row["condicion"] == "Inscripto")
                {
                    rowTabla["Texto"] = "Cursando en Comisión " + (string)row["desc_comision"];
                }
                else if ((string)row["condicion"] == "Regular")
                {
                    rowTabla["Texto"] = "Regular en año " + (int)row["anio_calendario"];
                }
                else if ((string)row["condicion"] == "Aprobado")
                {
                    rowTabla["Texto"] = "Aprobada con " + (int)row["nota"];
                }

                tabla.Rows.Add(rowTabla);
            }
        }

        retorno = tabla.Copy();

        List <Materia> materiasPlan = ml.GetAllForPlan(PersonaActual.IdPlan);

        for (int i = 0; i < materiasPlan.Count; i++)
        {
            bool valida = true;
            foreach (DataRow row in tabla.Rows)
            {
                if (materiasPlan[i].Descripcion.Equals((string)row["Materia"]))
                {
                    valida = false;
                }
            }
            if (valida)
            {
                rowTabla            = retorno.NewRow();
                rowTabla["Materia"] = materiasPlan[i].Descripcion;
                rowTabla["Texto"]   = "";
                retorno.Rows.Add(rowTabla);
            }
        }


        this.gvEstadoAcademico.DataSource = retorno;
        this.gvEstadoAcademico.DataBind();
    }