Foros del Web » Programación para mayores de 30 ;) » .NET »

Visual Basic 2010 Datagridview

Estas en el tema de Visual Basic 2010 Datagridview en el foro de .NET en Foros del Web. Buenas soy nuevo en la comunidad y estoy necesitando ayuda con lo siguiente tengo un windows form en la cual hay varios textbox y al ...
  #1 (permalink)  
Antiguo 25/09/2012, 06:07
 
Fecha de Ingreso: septiembre-2012
Mensajes: 14
Antigüedad: 11 años, 7 meses
Puntos: 0
Visual Basic 2010 Datagridview

Buenas soy nuevo en la comunidad y estoy necesitando ayuda con lo siguiente
tengo un windows form en la cual hay varios textbox y al final poseo dos datagridview, en los cuales 1 de ellos se conecta a una tabla "productos" de la base de datos y selecionando el que uno quiero con un boton se envia al otro datagridview, hasta ahi no hay drama, lo que quiero y necesito realizar ahora es comparar y contar las filas de este ultimo datagridview para saber la cantidad de registros iguales que se tienen no se si me explico???

mi idea seria con dos for comparando por ejemplo la primera fila con la segunda y si tienen el mismo ID incrementar una variable en uno, pero se me complica el codigo

Saludos!
Gracias por su tiempo!
  #2 (permalink)  
Antiguo 29/09/2012, 11:41
 
Fecha de Ingreso: septiembre-2012
Mensajes: 14
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Visual Basic 2010 Datagridview

Buenas pude solucionar el tema de no duplicar informacion en la seleccion de registros de un datagridview en otro el codigo lo paso para el que lo necesite:

Dim existe As Boolean = False

Try

For Each fila As DataGridViewRow In dgv2.Rows


If fila.Cells("nombre de la columna").Value = dGv1.CurrentCell.Value Then

existe = True

Exit For

End If

Next

If existe Then

MessageBox.Show("El producto ya fue agregado!")

Exit Sub

Else
dgv2.Rows.Add()

For i As Integer = 0 To dGVProductos.ColumnCount - 1
dgv2.Rows(dgvProductosFinales.Rows.Count - 1).Cells(i).Value = dGV1.Rows(dGV1.CurrentRow.Index).Cells(i).Value
Next

End If

Catch
MessageBox.Show("Error al cargar los productos")
End Try


-----------------------------------------------------------------------------------------------------

Ahora lo que necesito es cargar datos (tipo enteros) desde un textbox a una columna nueva creada que representaria a la cantidad de productos
no se si me explico, y para luego generar un archivo imprimible


Saludos!
  #3 (permalink)  
Antiguo 29/09/2012, 13:02
 
Fecha de Ingreso: septiembre-2012
Mensajes: 14
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Visual Basic 2010 Datagridview

Aca dejo el codigo completo a lo que pude llegar, me funciona bien salvo un detalle, al agregar un nuevo producto en la grilla2(productosfinales)
no me toma el valor del textbox asignado, sino que me lo toma recien cuando agrego un segundo item en la grilla2



Dim existe As Boolean = False

Try

If txtCantidadProd.Text = "" Or txtCantidadProd.Text = "0" Then
MessageBox.Show("Debe ingresar una cantidad del producto seleccionado antes de agregarlo a la lista")
Exit Sub
End If

'comparo que no se seleccione la misma fila para evitar duplicados y luego agrego la fila a dgvPrductosFinales
For Each fila As DataGridViewRow In dgvProductosFinales.Rows

'agrego la cantidad de productos por fila
dgvProductosFinales.Rows(dgvProductosFinales.RowCo unt - 1).Cells("CantidadProd").Value = txtCantidadProd.Text

If fila.Cells("IDProductos").Value = dGVProductos.CurrentCell.Value Then

existe = True

Exit For

End If


Next

If existe Then

MessageBox.Show("El producto ya fue agregado!")

Exit Sub

Else
dgvProductosFinales.Rows.Add()

For i As Integer = 0 To dGVProductos.ColumnCount - 1
dgvProductosFinales.Rows(dgvProductosFinales.Rows. Count - 1).Cells(i).Value = dGVProductos.Rows(dGVProductos.CurrentRow.Index).C ells(i).Value
Next

End If


Catch
MessageBox.Show("Error al cargar los productos")
End Try

Etiquetas: basic, datagridview, tabla, textbox, visual, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:39.