none
pasar datos desde datagridview RRS feed

  • Pregunta

  • Muy buenos dias amigos queria hacerles una consulta, tengo un datagridview que lleno y al hacer doble click en un registro que cualquiera que yo desee, me pase los valores a los textbox a otro formulario, tambien trabajo con booleans e imagenes, saludos
    viernes, 21 de diciembre de 2012 16:58

Todas las respuestas

  • Lo normal sería usar el DGV vinculado a datos, que idealmente sería un objeto List<T>, donde T sería el tipo de una clase que representa un registro (o fila) en el DGV.

    En un escenario como el anterior, sería tan fácil como pasar el objeto de tipo T al formulario.  ¿Cuál de todos los T en la List<T>?  Simple:  El evento CellDoubleClick provee un objeto con información, y justamente la propiedad RowIndex viene ahí:

    private void DataGridView1_CellDoubleClick(Object sender, DataGridViewCellEventArgs e)
    {
        //Asumiré que la lista es una variable llamada "laLista" a nivel de formulario:
        T objeto = laLista[e.RowIndex];
        //Pasar este objeto al formulario editor:
        Form2 f = new Form2(objeto);
        f.ShowDialog();
    }
    
    
    //Y este sería el constructor de Form2, el formulario editor:
    public Form2(T elObjetoAEditar)
    {
        //Construir los controles:
        InitializeComponent();
    
        //Llenar los controles con los valores.
        textBox1.Text = elObjetoAEditar.Propiedad1.ToString();
        textBox2.Text = ...;
        //Finalmente guardamos una referencia al objeto a editar.
        //Así, cuando se presione el botón de OK para aplicar los cambios
        //tenemos un objeto al cual aplicárselos.
        //La variable _objeto se declararía a nivel de formulario.
        _objeto = elObjetoAEditar;
    }

    Luego sería nada más que el botón OK pase los valores de los controles al objeto de clase T.  Si T implementa INotifyPropertyChanged, entonces los cambios se reflejarán automáticamente en el DGV.

    Pero bueno, no sé si este método es el que usted usa o no.  ¿Usa este tipo de vinculación a datos o usa algo más arcaico como un DataSet o DataTable?


    Jose R. MCP
    Code Samples

    viernes, 21 de diciembre de 2012 17:16
  • Hola amigo gracias por la respuesta si uso lista tambien aunque algo diferente en la manera de hacerlo, lo intentare de todas maneras, saludos
    viernes, 21 de diciembre de 2012 19:05