Filas seleccionadas DataGridView

Iniciado por piwi, 29 Julio 2010, 17:09 PM

0 Miembros y 1 Visitante están viendo este tema.

piwi

Hola.

Estoy intentando recuperar los valores de las filas seleccionadas en un datagridview  con opcion de multiselect.

Estoy utilizando el siguiente código


Dim PuestosAcumulados, Contador As Integer
        Dim FilasSeleccionadas As Integer

        PuestosAcumulados = 0

        FilasSeleccionadas = DataGridView1.GetCellCount(DataGridViewElementStates.Selected)

        If FilasSeleccionadas > 0 Then

            For Contador = 0 To FilasSeleccionadas - 1
                PuestosAcumulados = PuestosAcumulados + CInt(DataGridView1(2, DataGridView1.SelectedCells(Contador).RowIndex).Value)
            Next Contador
        End If


El problema con el que me encuentro que recorre cada columna seleccionada por numero de campos que tenga por lo que si tengo en el datagridview 6 columnas y selecciono solamente una fila, el getcellcount me dará un 6.
Como puedo hacer para que solamente pase una vez por la fila como si fuera un getrowcolumns.
Al principio para sumar el valor no tenía problemas porque lo dividía por el nº de campos de registro pero ahora necesito hacer un insert en otra tabla por cada registro seleccionado con los valores de este y claro, si tengo 6 campos, intenta hacer el insert 6 veces y yo solamente quiero que me lo haga una vez.

piwi

Me respondo a mi mismo por si alguien también lo buscaba.

   Dim PuestosAcumulados, Contador As Integer

        PuestosAcumulados = 0

        For Contador = 0 To DataGridView1.RowCount - 1
            'PuestosAcumulados = PuestosAcumulados + CInt(DataGridView1(2, DataGridView1.SelectedCells(Contador).RowIndex).Value)
            If DataGridView1.Rows(Contador).Selected Then
                PuestosAcumulados = CInt(PuestosAcumulados + DataGridView1(2, Contador).Value)
            End If
        Next Contador

        NUMPUESTOSTextBox.Text = (PuestosAcumulados).ToString

[D4N93R]

Muy bien, que bueno que lo lograste, una pregunta, estás seguro de que el GetCellCount no te funcionó? voy a probarlo a ver que tal.

Otra cosa, cuando coloques el código entre las etiquetas ponle el lenguaje que estás usando [code=vbnet]tu código aquï[/code]

piwi

Cita de: D4N93R en 29 Julio 2010, 18:55 PM
Muy bien, que bueno que lo lograste, una pregunta, estás seguro de que el GetCellCount no te funcionó? voy a probarlo a ver que tal.

Otra cosa, cuando coloques el código entre las etiquetas ponle el lenguaje que estás usando [code=vbnet]tu código aquï[/code]

El problema que tenía que tenia activado fullrowselect y por eso me lo hacía por todos los campos.