none
Recorrer datagridview y obtener index C# RRS feed

  • Pregunta

  • ¿Como puedo obtener el index de cada row en un datagridview y guardarla en una variable?  Para poderlo pasar a otro datagridview con el index en una nueva columna 

    Ejemplo: Mi datagridview

    Numero | Dato1 | Dato2 |

    001          x            x

    001          x            s

    001            s           x 

    ____________________-

    Y pueda quedar asi 

    ______________________________

    Ejemplo: Mi datagridview2

    Numero | Dato1 | Dato2 | index |

    001          x            x           0

    001          x            s           1

    001           s            x           2

    ____________________-________

    Hago este codigo pero solo me trae el ultimo index 

       foreach (DataGridViewRow row in dataGridView.Rows)
                    {
                        int num_index = row .Cells[0].RowIndex.ToString();
                    }

    Asi queda: Mi datagridview2

    Numero | Dato1 | Dato2 | index |

    001           x            x           2

    001           x            s           2

    001           s            x           2

    ____________________-________

    martes, 15 de octubre de 2019 22:04

Respuestas

  • hola jc 

    el codigo para obtener el index del row lo tomas en el evento click de la celda o fila que le das para obtener el valor;

    private void dataGridView_tabla_CellClick(object sender, DataGridViewCellEventArgs e){
        int IndiceFila;
        IndiceFila= dataGridView_Product.CurrentRow.Index; 
    }

    miércoles, 16 de octubre de 2019 12:27

Todas las respuestas

  • hola jc 

    el codigo para obtener el index del row lo tomas en el evento click de la celda o fila que le das para obtener el valor;

    private void dataGridView_tabla_CellClick(object sender, DataGridViewCellEventArgs e){
        int IndiceFila;
        IndiceFila= dataGridView_Product.CurrentRow.Index; 
    }

    miércoles, 16 de octubre de 2019 12:27
  • Pero no existe la forma de hacerlo sin darle click en el data?
    miércoles, 16 de octubre de 2019 17:56
  • Hola, lo que te esta faltando a vos es, ni bien obtenes el index, lo tenes que pasar al datagrid que querés. Porque si no haces esto, se te esta pisando el valor y te va a tomar siempre el ultimo, Ejemplo, si tenes 0, 1, 2, 3, 4. Te va a tomar el cuatro. Entonces vos tenes que hacer así..

    foreach (DataGridViewRow row in dataGridView.Rows)
    {
       int num_index = row .Cells[0].RowIndex.ToString();
       TuDatagrid.row.Cells["TuColumna"].Value = num_index;
    }

    cervera


    miércoles, 16 de octubre de 2019 18:58