none
Enviar como parámetro un List<T> de un formulario a otro formulario RRS feed

  • Pregunta

  • Hola a todos.

    Tengo la siguiente situación que no he encontrado como resolverla.

    Resulta que tengo ya dentro de un formulario una lista<T> ya con sus respectivos datos. Y ahora necesito enviar esta misma lista a otro formulario.

    Dentro de mi segundo formulario tengo el siguiente código:

    Formulario2:

    public  frmHijo(List<object> list)

            {

                InitializeComponent();

            }

    Pero mi problema está en como enviar la lista de datos desde el primer formulario a este segundo formulario:

    frmHijo frm= new frmHijo(List<Clientes> list);

    from.show

    Gracias por su ayuda, saludos

    viernes, 5 de octubre de 2018 21:22

Respuestas

  • hola

    >>mi problema está en como enviar la lista de datos desde el primer formulario a este segundo formulario

    como lo muestras en el codigo es correcto, asignas la lista en la instancia del form

    frmHijo frm = new frmHijo(list);
    from.Show()

    aunque no veo porque casteas la lista, se supone que en el form1 la variable "list" ya es del tipo correcto

    Igual un detalle, recomendaria definas en el form2 alfo como esto

    private List<Clientes> _list;
    
    public  frmHijo()
    {
    	InitializeComponent();
    }
    
    public frmHijo(List<Clientes> list) : base()
    {
    	_list = list;
    }

    para el diseñador del form necesitas el constructor sin parametros

    pero la lista no deberia ser un object, sino podrias usar algo como esto

    public class frmHijo<T> : Forms where T : class
    {
    	private List<T> _list;
    
    	public frmHijo()
    	{
    		InitializeComponent();
    	}
    
    	public frmHijo(List<T> list) : base()
    	{
    		_list = list;
    	}
    
    }

    pero la verdad es que nunca intente hacerlo, pero evita usar object

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 5 de octubre de 2018 23:01

Todas las respuestas

  • hola

    >>mi problema está en como enviar la lista de datos desde el primer formulario a este segundo formulario

    como lo muestras en el codigo es correcto, asignas la lista en la instancia del form

    frmHijo frm = new frmHijo(list);
    from.Show()

    aunque no veo porque casteas la lista, se supone que en el form1 la variable "list" ya es del tipo correcto

    Igual un detalle, recomendaria definas en el form2 alfo como esto

    private List<Clientes> _list;
    
    public  frmHijo()
    {
    	InitializeComponent();
    }
    
    public frmHijo(List<Clientes> list) : base()
    {
    	_list = list;
    }

    para el diseñador del form necesitas el constructor sin parametros

    pero la lista no deberia ser un object, sino podrias usar algo como esto

    public class frmHijo<T> : Forms where T : class
    {
    	private List<T> _list;
    
    	public frmHijo()
    	{
    		InitializeComponent();
    	}
    
    	public frmHijo(List<T> list) : base()
    	{
    		_list = list;
    	}
    
    }

    pero la verdad es que nunca intente hacerlo, pero evita usar object

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 5 de octubre de 2018 23:01
  • Muchísimas  gracias Leandro. Pondré en practica tu consejo.

    Saludos.

    sábado, 6 de octubre de 2018 0:08