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

Problema con DataGrid

Estas en el tema de Problema con DataGrid en el foro de .NET en Foros del Web. Buen día comunidad, Tengo un Grid que carga horarios de acuerdo a un checador, ademas de mostrar minutos que han llegado tarde o temprano (De ...
  #1 (permalink)  
Antiguo 08/11/2012, 09:37
 
Fecha de Ingreso: junio-2012
Mensajes: 90
Antigüedad: 11 años, 10 meses
Puntos: 2
Problema con DataGrid

Buen día comunidad,

Tengo un Grid que carga horarios de acuerdo a un checador, ademas de mostrar minutos que han llegado tarde o temprano (De una empresa), para los minutos tardes se manejan números negativos, por lo que manejo un evento que me colore en el Grid a las personas que llegaron tarde por mas de 10 minutos (-10 en el GRID)

Aquí esta el Sub del evento:

Código vb:
Ver original
  1. Private Sub Grid1_CellFormatting(sender As System.Object, e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles Grid1.CellFormatting
  2.  
  3.         Select Case (Me.Grid1.Rows(e.RowIndex).Cells(6).Value)
  4.             Case Is < -10
  5.                 For Each colcel1 As DataGridViewCell In Me.Grid1.Rows(e.RowIndex).Cells
  6.                     colcel1.Style.BackColor = Color.Silver
  7.                     colcel1.Style.ForeColor = Color.Blue
  8.                 Next
  9.         End Select
  10.  
  11.     End Sub

Por lo que se entiende, ahora todas las personas que lleguen tarde por mas de 10 minutos (-11,-12, etc, etc...) se van a corolorear en el GRID, ahora bien, el evento funciona correctamente, todo funciona perfecto, pero..hay un detalle, a continuación se los explico:

*A la hora de que yo le doy clic a una cabecera del GRID para ordenar por "Minutos Tarde" que supongamos así se llama mi columna y me agrupa a la gente que ha llegado tarde cuando paso el mouse por encima de la columna (Ya con los datos ordenados) o hago cualquier otra acción, me bota esta exeption:


Cita:
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Espero haberme explicado, saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 08/11/2012, 11:33
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con DataGrid

Es que debes validar primero que el e.RowIndex sea mayor a -1 ya que sino me equivoco el e.RowIndex = -1 viene siendo la fila de las columnas

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 08/11/2012, 12:22
 
Fecha de Ingreso: junio-2012
Mensajes: 90
Antigüedad: 11 años, 10 meses
Puntos: 2
Respuesta: Problema con DataGrid

Listo, efectivamente el problema era el Index, lo resolvi con:

If e.RowIndex > -1 Then
**Codigo**
End if


Gracias!

Etiquetas: datagrid, 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 07:35.