none
DATAGRIDVIEW en VB 2015 RRS feed

  • Pregunta

  • Al hacer Click en una celda de la que quiero obtener informacion, me desaparece la informacion almacenada en esa celda y no vuelve hasta que no cambio de "CurrentCell", como puedo evitar que me ocurra esto
    • Cambiado Enrique M. Montejo jueves, 8 de diciembre de 2016 10:55 Pregunta relacionada con controles de Windows Forms.
    viernes, 2 de diciembre de 2016 17:40

Todas las respuestas

  • Hola:

    Has mirado el ForeColor que tiene la celda cuando la seleccionas?.

    Posiblemente te cambie de color cuando entras en ella y al salir vuelve a tomar el color que tenía el texto.

    Te adjunto un pequeño ejemplo con el que puedes cambiar colores y fuentes de tu dfatagridview.

    Ahí veras que color puedes a la celda seleccionada.

     With DataGridView1.DefaultCellStyle
                    .Font = New Font("Tahoma", 10)
                    .ForeColor = Color.Black
                    .BackColor = Color.Beige
                    .SelectionForeColor = Color.Yellow
                    .SelectionBackColor = Color.Black
                End With

    Un saludo.

    Gemma

    • Propuesto como respuesta Enrique M. Montejo domingo, 4 de diciembre de 2016 12:51
    • Votado como útil Joyce_AC lunes, 5 de diciembre de 2016 19:28
    viernes, 2 de diciembre de 2016 18:07
  • Muchas gracias Gemma, pero no me ha funcionado tu propuesta.

    Tengo un DATAGRIDVIEW en el cual el programa descarga los parámetros de diferentes proyectos, son 24 columnas por proyecto.

    Al hacer "Click" en cualquier celda de una misma fila, lo que pretendo es seleccionar la primera columna que identifica el proyecto mediante un código y convertir el "BackColor" de esa celda en columna 0 en color rojo para identificar el proyecto con el que se pretende trabajar.

    En caso de se quiera cambiar de proyecto seleccionado, simplemente se hace "Click" en otra celda del nuevo proyecto y convierte el "BackColor" del proyecto seleccionado anteriormente en un "BackColor" blanco y el del nuevo proyecto lo pasa a rojo.

    Pues bien cuando hago "Click" en una celda, cualquiera, me desaparece la informacion de esa celda dejándola en blanco. He parado el proyecto al comienzo de la instrucción que da entrada a todo este proceso y veo en pantalla como ha quedado el DATAGRIDVIEW y ya ha desaparecido la información de la celda, es decir antes de recorrer el proceso que explico anteriormente.

    No entiendo el porque esta pasando esto y no se como resolverlo. Adjunto el código de este proceso por si puede aclarar algo

    Private Sub FlexB_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles FlexB.CellClick
            Dim RC As Integer               'Numero de Iteraciones

            RC = FlexB.RowCount
            If RC = 0 Then Exit Sub

            FlexB.Rows(FilaCeldaAnt).Cells(0).Style.BackColor = Color.White     'Elimina el color rojo de la celda de referencia anterior 

            If FilaCelda = RC Then Exit Sub

            FilaCelda = FlexB.CurrentCell.RowIndex
            FilaCeldaAnt = FilaCelda

            FlexB.Rows(FilaCelda).Cells(0).Style.BackColor = Color.Red          'Convierte en color rojo de la celda 0 del proyecto seleccionado 
            FlexB.Refresh()
            IterNro = FlexB.Rows(FilaCelda).Cells(0).Value

            If IterNro = "" Then
                AvisoLI(Idioma, 1)   '"Debe seleccionar una Iteración haciendo click en el fila correspondiente"
                Exit Sub
            End If

            cmdSalir.Focus()

        End Sub


    domingo, 4 de diciembre de 2016 17:33