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.
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
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]
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.