none
Ayuda con manejo de datos entre varios datagridview RRS feed

  • Pregunta

  • Saludos:

    Les comento mi inconveniente y ante todo agradezco las ayudas que me brinden.

    Tengo un software de restaurantes, el problema es que al dividir una cuenta en varias, uso datagridview de forma dinámica, es decir, doy clic en agregar y se aumenta una lista que es un datagrid, en donde moveré items del grid original.

    Como puedo hacer para seleccionar un ítem de un grid y al dar clic en el otro grid se mueva la fila seleccionada del original a la nueva lista (nuevo grid)?

    Mi código funciona al parecer, pero falla cuando selecciono la fila y al dar clic sobre una fila en otro datagridview, este se sobrescribe.

    Agradeceré mucho sus ayudas.

    Gracias.

    jueves, 23 de mayo de 2019 1:50

Respuestas

  • Podrias usar el evento SelectionChanged del DGV1 para capurar el elemento seleccionada y guadarlo en una variable. Luego, en el evento CellClick del DGV2 tendrás en la variable el elemento que seleccionaste. Te doy un ejemplo (en este ejemplo supongo que hay una clase llamada ItemCuenta y que los DGV son cargados con listas de objetos de esa clase. Cualquier duda sobre esto consultame).

    ItemCuenta ItemSeleccionado = null;
    
        private void grCuentas1_SelectionChanged(object sender, EventArgs e)
        {
          if (grCuentas1.SelectedRows[0] == null)
             ItemSeleccionado = null;
          else
             ItemSeleccionado = (ItemCuenta)grCuentas1.SelectedRows[0].DataBoundItem;
        }
    
        private void grCuentas2_CellClick(object sender, DataGridViewCellEventArgs e)
        {
          if (ItemSeleccionado == null) return;
    
          ItemCuenta Item_A_Agregar = (ItemCuenta)grCuentas2.CurrentRow.DataBoundItem;
          //Codigo para eliminar el item de grCuentas1
          //Codigo para agregar el item de grCuentas2 
        }



    jueves, 23 de mayo de 2019 12:07

Todas las respuestas

  • hola

    >>Como puedo hacer para seleccionar un ítem de un grid y al dar clic en el otro grid se mueva la fila seleccionada del original a la nueva lista (nuevo grid)?

    porque tiene que ser al seleccionar en un grid y luego seleccionar en el otro, no podrias seleccionar en uno y con un boton realizar la accion de pasaje del dato al otro grid ?

    >>pero falla cuando selecciono la fila y al dar clic sobre una fila en otro datagridview, este se sobrescribe.

    no entiendo, que es lo que sobreescribe? podrias publicar el codigo que usas para esta accion

    saludos




    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Carlos_Ruiz_M jueves, 23 de mayo de 2019 14:25
    jueves, 23 de mayo de 2019 4:37
  • Podrias usar el evento SelectionChanged del DGV1 para capurar el elemento seleccionada y guadarlo en una variable. Luego, en el evento CellClick del DGV2 tendrás en la variable el elemento que seleccionaste. Te doy un ejemplo (en este ejemplo supongo que hay una clase llamada ItemCuenta y que los DGV son cargados con listas de objetos de esa clase. Cualquier duda sobre esto consultame).

    ItemCuenta ItemSeleccionado = null;
    
        private void grCuentas1_SelectionChanged(object sender, EventArgs e)
        {
          if (grCuentas1.SelectedRows[0] == null)
             ItemSeleccionado = null;
          else
             ItemSeleccionado = (ItemCuenta)grCuentas1.SelectedRows[0].DataBoundItem;
        }
    
        private void grCuentas2_CellClick(object sender, DataGridViewCellEventArgs e)
        {
          if (ItemSeleccionado == null) return;
    
          ItemCuenta Item_A_Agregar = (ItemCuenta)grCuentas2.CurrentRow.DataBoundItem;
          //Codigo para eliminar el item de grCuentas1
          //Codigo para agregar el item de grCuentas2 
        }



    jueves, 23 de mayo de 2019 12:07