none
Buscador C# PagedList RRS feed

  • Pregunta

  •     

    Que tal amigo recurro nuevamente a ustedes para poder solucionar un problema que creo es simple pero no he podido dar con al solución.

    1.- resulta que tengo un actions result de la siguiente manera.

    public ActionResult searchRequerimiento(searchRequerimiento model)
            {
                var pageIndex = model.Page ?? 1;
                var itemPorPagina = 40;
                ViewBag.pageno = pageIndex;
                ViewBag.itemperpage = itemPorPagina;
    
                #region busqueda de requerimientos
                DataTable objDataTable = new DataTable("tblSongs");
    
                objDataTable.Columns.Add("Ejercicio");
                objDataTable.Columns.Add("NoLicitacion");
                objDataTable.Columns.Add("Descripcion");
                objDataTable.Columns.Add("TipoProcedimiento");
                objDataTable.Columns.Add("ClavesRequeridas");
                objDataTable.Columns.Add("PiezasRequeridas");
                objDataTable.Columns.Add("MontoRequerido");
                objDataTable.Columns.Add("ClavesAsignadas");
                objDataTable.Columns.Add("PiezasAsignadas");
                objDataTable.Columns.Add("MontoAsignado");
                DataRow myDataRow;
    
                var partidaSelec=0;
    
                foreach (int item in model.itemPartidas)
                {
                    if(item!=0)
                    {
                        partidaSelec = partidaSelec + item;
                    }             
                }
    
                var _filtrado = from t in db.MtoRequerimientos
                                where (model.MtoProcedimientoId == 0 || 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)) &&
                                (partidaSelec == 0 || model.itemPartidas.Contains(t.MtoRequerimientoId))                            
                                select t;
              
    
                Session["ResumenProcedimientos"] = objDataTable;
    
                model.result_MtoRequerimientos = _filtrado.ToPagedList(pageIndex, itemPorPagina));
    
                return View("_LoadResultSearchRequerimiento", _filtrado.OrderBy(r=>r.MtoProcedimiento.NoLicitacion).ToPagedList(pageIndex,itemPorPagina));
    
                #endregion
            }
       



    bien y un modelview de la siguiente manera.

    public class searchRequerimiento : MtoRequerimiento
        {
            [Display(Name = "Procedimiento")]        
            public string NoLicitacion { get; set; }
    
            public int? Page { get; set; }
    
            public IPagedList<MtoProcedimiento> result_MtoRequerimientos { get; set; }
    
    
            public IEnumerable<MtoProcedimiento> ListProcedimientos { get; set; }
            public IEnumerable<MtoRequerimiento> ListPartidas { get; set; }
    
            public int[] itemLicitaciones { get; set; }      
    
            public int[] itemPartidas { get; set; }
        }

    en lo que quiero pedirles ayuda es como  puedo pasar la consulta a la variable 

    public IPagedList<MtoProcedimiento> result_MtoRequerimientos { get; set; }

        


    de mi model, ya que cuando quiero hacerlo de la siguiente manera

    model.result_MtoRequerimientos = _filtrado.ToPagedList(pageIndex, itemPorPagina));

    me muestra el siguiente error.

        Severity    Code    Description    Project    File    Line    Suppression State
    Error    CS0266    Cannot implicitly convert type 'PagedList.IPagedList<WebDBT.Models.MtoRequerimiento>' to 'PagedList.IPagedList<WebDBT.Models.MtoProcedimiento>'. An explicit conversion exists (are you missing a cast?)    WebDBT    C:\Users\Mirobiano\Source\Repos\WebDBT\WebDBT\Controllers\RequerimientosController.cs    103    Active

    agradecería mucho su ayuda.

    muchas gracias  aun no logro poder realizar el concepto


    Horacio Xochitemol Bautista


    • Editado Xochitemol jueves, 6 de septiembre de 2018 21:56 complemento
    domingo, 12 de agosto de 2018 12:36

Todas las respuestas

  • hola

    Si analizas el mensaje vera que me nenciona las clases MtoRequerimiento y MtoProcedimiento

    estas queriendo asignar tipos de datos diferentes

    deberias cambiar la propiedad

    public IPagedList<MtoProcedimiento> result_MtoRequerimientos { get; set; }

    y usar MtoRequerimiento

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 14 de agosto de 2018 13:39
  • que tal leandro muchas gracias, agradezco tu apoyo y te comento que en esa parte ya esta funcionando ahora en la paginación no se como recuperar el aray de los valores de la variable.

     public int[] itemPartidas { get; set; }

    lo estoy intentando así en el método search retorno un viewBag

    ViewBag.Valores= String.Join(",", model.itemPartidas.Select(p => p.ToString()).ToArray());

    depurando en ese ViewBag obtengo lo siguiente

    ahora lo quiero recuperar en la paginación para ello ocupo el siguiente código en la view.

     @Html.PagedListPager(Model.result_MtoRequerimientos, Page => Url.Action("Index", new RouteValueDictionary {
                    { "Page",Page },
                    { "MtoProcedimientoId", Model.MtoProcedimientoId },
                    { "partidasLic",ViewBag.Valores },
                    { "Gpo", Model.Gpo },
                    { "Gen",Model.Gen},
                    { "Descripcion", Model.Descripcion }}),
                    PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(new AjaxOptions { UpdateTargetId = "ajax_main" }))

    sin embargo en la barra de estado cuando trato de pasar a la pagina 2, me muestra lo siguiente.

    que estoy haciendo mal que no puedo realizar la paginación, podrian echarme una mano.

    muchas gracias


    Horacio Xochitemol Bautista

    miércoles, 22 de agosto de 2018 14:31
  • Amigos no he podido solucionar la problemática de recuperar el array tienen alguna idea?

    Horacio Xochitemol Bautista

    jueves, 10 de enero de 2019 19:53