none
ayuda con buscador dinamico RRS feed

  • Pregunta

  • que tal amigo resulta que tengo la siguiente pantalla de entrada

    Bien resulta que necesito realizar la condición de búsqueda para lo cual estoy ocupando el siguiente código

     [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult searchRequerimiento(searchRequerimiento model)
            {
    
                #region busqueda de requerimientos
                DataTable objDataTable = new DataTable("tblSongs");
    
                
    
    
    
                var list = from t in db.MtoRequerimientos
                           where model.MtoProcedimientoId==(t.MtoProcedimientoId)
                            || model.Gpo.Contains(t.Gpo) || model.Gen.Contains(t.Gen) || model.Esp.Contains(t.Esp)
                            || model.Descripcion.Contains(t.Descripcion)
                            || model.itemPartidas.Contains(t.MtoRequerimientoId)                       
                           select t;
    
                
    
                Session["ResumenProcedimientos"] = objDataTable;
    
    
    
    
                return View("_LoadResultSearchRequerimiento", list);
    
                #endregion
           

    bien lo que he logrado es que me regrese todos los registros unicamente del campo procedimiento, pero por ejemplo si el campo partidas tiene información no la realiza.

    podrian echarme una mano por favor


    Horacio Xochitemol Bautista

    viernes, 3 de agosto de 2018 18:00

Todas las respuestas

  • Hola Xochitemol,

    Los campos de tu modelo del filtro que no tengan valores para buscar deberían retornar 'nulos' en el Action, para aplicar los filtros condicionales y validar cada parámetro si es filtro o no.

    Por lo que podrías hacer:

    var list = from t in db.MtoRequerimientos
                where (model.MtoProcedimientoId == null || t.MtoProcedimientoId == model.MtoProcedimientoId) &&
                (model.Gpo == null || t.Gpo.Contains(model.Gpo)) &&
                (model.Gen == null || t.Gen.Contains(model.Gen)) &&
                (model.Esp == null || t.Esp.Contains(model.Esp)) &&
                (model.Descripcion == null || t.Descripcion.Contains(model.Descripcion)) &&
                (model.MtoRequerimientoId == null || t.itemPartidas.Contains(model.MtoRequerimientoId))
                select t;

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    sábado, 4 de agosto de 2018 9:19
  • muchisinas gracias me funciono de maravilla, ahora habra algun ejemplo de poder paginar esos resultados.

    Horacio Xochitemol Bautista

    lunes, 6 de agosto de 2018 15:52
  • Hola Xochitemol,

    Podrías utilizar el paquete PagedList instalandolo desde Nuget, aquí un ejemplo para implementarlo :

    Paging And Sorting In ASP.NET MVC

    O hacer uso de librerías como :

    DataTables - Table plugin for jQuery

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    lunes, 6 de agosto de 2018 16:52