none
Buscador por filtros RRS feed

  • Pregunta

  • Buen dia compañeros tengo este codigo se supone que es un buscador se supone que filtra la tabla conforme voy buscando en los filtros pero cuando selecciono algun filtro se pone en blanco la tabla no aparece ningun registro, no se cual pueda ser el error que no estoy viendo.

        @using (Html.BeginForm())
            {
                <p>
                    Salon: @Html.DropDownList("sln", " ")
                    Maestro:@Html.DropDownList("met", " ")
                    Especilidad:@Html.DropDownList("epc", " ")
                    Clave: @Html.TextBox("clv"," ")
                    Materia:@Html.DropDownList("mtr", " ")
                    Tutor:@Html.DropDownList("ttr", " ")
                    
                    <input type="submit" value="Search" />
                </p>
            }

       public ViewResult Index(int? page, string met, string ttr, string sln, string mtr, string epc, string clv)
            {
                const int pageSize = 20;
                int pageNumber = (page ?? 1);
    
                var esTs = db.EstudianteTs.Include(t => t.MaestrosT).Include(t => t.TutorT).Include(t => t.SalonT).Include(t => t.MateriaT).Include(t => t.EspecialidadT);
    
                var maestro = db.EstudianteTs.OrderBy(t => t.MaestrosT.Nombre).Select(t => t.MaestrosT.Nombre).Distinct();
    
                ViewBag.met = new SelectList(maestro);
    
                var tutor = db.EstudianteTs.OrderBy(t => t.TutorT.Nombre).Select(t => t.TutorT.Nombre).Distinct();
    
                ViewBag.ttr = new SelectList(tutor);
    
                var salon = db.EstudianteTs.OrderBy(t => t.SalonT.Salon).Select(t => t.SalonT.Salon).Distinct();
    
                ViewBag.sln = new SelectList(salon);
    
                var materia = db.EstudianteTs.OrderBy(t => t.MateriaT.Nombre).Select(t => t.MateriaT.Nombre).Distinct();
    
                ViewBag.mtr = new SelectList(materia);
    
                var especialidad = db.EstudianteTs.OrderBy(t => t.EspecialidadT.Nombre).Select(t => t.EspecialidadT.Nombre).Distinct();
    
                ViewBag.epc = new SelectList(epc);
    			
                esTs = db.EstudianteTs.Where(s => (mtr == null) || (s.MateriaT.Materia.Contains(mtr)))
    							.Where(s => (ttr == null) || (s.TutorT.Nombre.Contains(ttr)))
    							.Where(s => (epc == null) || (s.EspecialidadT.Nombre.Contains(epc)))
    							.Where(s => (met == null) || (s.MaestrosT.Nombre.Contains(met)))
    							.Where(s => (clv == null) || (s.Clave.Contains(clv)))
    							.Where(s => (sln== null) || s.SalonT.Salon.Contains(sln)));
    								
                return View(esTs.ToList().ToPagedList(pageNumber, pageSize));
            }

    miércoles, 21 de marzo de 2018 19:08

Respuestas

  • hola

    >>pero cuando selecciono algun filtro se pone en blanco la tabla no aparece ningun registro

    cual seria ese algun filtro ? o sucede con cualquiera que apliques

    estas seguro que toman el valor de null los parametros, no deberias usar

    Where(s => (string.IsNullOrEmpty(mtr) || (s.MateriaT.Materia.Contains(mtr)))

    lo mismo con el resto, porque podria estar simplemente vacio y no null

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Emma Grz viernes, 20 de abril de 2018 17:24
    jueves, 22 de marzo de 2018 21:02