none
Restaurar stylo de celdas datagrigview RRS feed

  • Pregunta

  • Hola, nuevamente tengo otra duda y espero me podais ayudar.

    Tengo este codigo que busca en un datagrig y cuando encuentra en cualquier celda el texto lo pone en negrita y color azul

     If BuscarTextBox.Text <> "" Then
                For i As Integer = 0 To Me.DataGridView1.Rows.Count - 2
                For x As Integer = 0 To DataGridView1.ColumnCount - 1
                    If DataGridView1.Rows(i).Cells(x).Value.ToString.Contains(Me.BuscarTextBox.Text) Then
    
                        Me.DataGridView1.CurrentCell = DataGridView1.Rows(i).Cells(x)
    
                        'Cambiar estilo de celdas
                        DataGridView1.Rows(i).Cells(x).Style.Font = New Font("Microsoft Sans Serif", 8.25, FontStyle.Bold)
                        DataGridView1.Rows(i).Cells(x).Style.ForeColor = Color.Blue
                    End If
                Next x
            Next i
            End If

    Una vez he visto los datos deseo poner las celdas afectadas a su estilo normal.

    Usando este codigo

     With Me.DataGridView1.DefaultCellStyle
                .Font = New Font("Microsoft Sans Serif", 8.25)
                .ForeColor = Color.Black
     End With

    Y el problema es que deja la celda en bold y color blue, no la restaura a su estilo normal, y no se que hago mal o que me falta.


    Saludos a toda la comunidad.

    miércoles, 12 de septiembre de 2018 7:22

Respuestas

  • Lo primero un boton de buscar 

     Private Sub btnBuscarTodos_Click(sender As Object, e As EventArgs) Handles btnBuscarTodos.Click

    y luego cuando lo quiero restaurar otro boton que uso para ordenar y que de paso restaure las celdas

     Private Sub btnOrdenarDatos_Click_1(sender As Object, e As EventArgs) Handles btnOrdenarDatos.Click

            '  With Me.DataGridView1.DefaultCellStyle
             .Font = New Font("Microsoft Sans Serif", 8.25)
             .ForeColor = Color.Black
            '  .BackColor = Color.Beige
            '  .SelectionForeColor = Color.Yellow
            '  .SelectionBackColor = Color.Black
            '  End With

    'Ordena la Datagridg por Categoria
            DataGridView1.Sort(DataGridView1.Columns(2), System.ComponentModel.ListSortDirection.Ascending)

    End Sub

    No se si es esto lo que me preguntas.


    Saludos a toda la comunidad.

    • Propuesto como respuesta Pablo Rubio miércoles, 12 de septiembre de 2018 16:15
    • Marcado como respuesta Pablo Rubio miércoles, 19 de septiembre de 2018 21:09
    miércoles, 12 de septiembre de 2018 8:35
  • Hola:

    En donde aplicas el cambio de fuente, que procedimiento del datagridview utilizas. Es decir, cuando quieres que cambie la celda a su formato original.

    Un saludo.

    Gemma

    • Propuesto como respuesta Pablo Rubio miércoles, 12 de septiembre de 2018 16:14
    • Marcado como respuesta Pablo Rubio miércoles, 19 de septiembre de 2018 21:09
    miércoles, 12 de septiembre de 2018 7:28

Todas las respuestas

  • Hola:

    En donde aplicas el cambio de fuente, que procedimiento del datagridview utilizas. Es decir, cuando quieres que cambie la celda a su formato original.

    Un saludo.

    Gemma

    • Propuesto como respuesta Pablo Rubio miércoles, 12 de septiembre de 2018 16:14
    • Marcado como respuesta Pablo Rubio miércoles, 19 de septiembre de 2018 21:09
    miércoles, 12 de septiembre de 2018 7:28
  • Lo primero un boton de buscar 

     Private Sub btnBuscarTodos_Click(sender As Object, e As EventArgs) Handles btnBuscarTodos.Click

    y luego cuando lo quiero restaurar otro boton que uso para ordenar y que de paso restaure las celdas

     Private Sub btnOrdenarDatos_Click_1(sender As Object, e As EventArgs) Handles btnOrdenarDatos.Click

            '  With Me.DataGridView1.DefaultCellStyle
             .Font = New Font("Microsoft Sans Serif", 8.25)
             .ForeColor = Color.Black
            '  .BackColor = Color.Beige
            '  .SelectionForeColor = Color.Yellow
            '  .SelectionBackColor = Color.Black
            '  End With

    'Ordena la Datagridg por Categoria
            DataGridView1.Sort(DataGridView1.Columns(2), System.ComponentModel.ListSortDirection.Ascending)

    End Sub

    No se si es esto lo que me preguntas.


    Saludos a toda la comunidad.

    • Propuesto como respuesta Pablo Rubio miércoles, 12 de septiembre de 2018 16:15
    • Marcado como respuesta Pablo Rubio miércoles, 19 de septiembre de 2018 21:09
    miércoles, 12 de septiembre de 2018 8:35
  • Hola:

    Prueba con recargar el datagridview desde el botón Private Sub btnOrdenarDatos_Click_1

    Un saludo.

    Gemma

    miércoles, 12 de septiembre de 2018 13:14
  • Si recargo el archivo para rellenar el datagrid se quita, pero buscaba algun codigo de lo refrescara o algo asi ya que en cargar el fichero tarda un poco.


    Saludos a toda la comunidad.

    miércoles, 12 de septiembre de 2018 13:50
  • Hola:

    El datagridview se refresca tal como te he indicado. No se la cantidad de registros que pueda llevar, pero el sistema por lo menos para 5000 registros es automático.

    Un saludo.

    Gemma

    • Propuesto como respuesta Pablo Rubio miércoles, 12 de septiembre de 2018 16:15
    miércoles, 12 de septiembre de 2018 14:48
  • Son mas de 10000 registros, pero de momento sera una solucion.

    Muchas gracias.


    Saludos a toda la comunidad.

    miércoles, 12 de septiembre de 2018 14:52
  • Hola:

    De todas formas aunque sean 10000 registros te tendría que ir  rápido, tienes las alternativa de cargar cada vez varias registros a medida que el usuario quiera vez más de ellos, es decir, hacer una paginación.

    Un saldo.

    Gemma


    • Propuesto como respuesta Pablo Rubio miércoles, 12 de septiembre de 2018 16:15
    miércoles, 12 de septiembre de 2018 15:23
  • El problema que veo es que al buscar texto en un campo es para modificarlo tendria que estar guardando antes de dar recargar.


    Saludos a toda la comunidad.

    miércoles, 12 de septiembre de 2018 16:19
  • Hola:

    No tienes problema, si modificas el texto en la grilla, simplemente haces un update y posteriormente recargas la grilla, creo que eso no? lo que indicas.

    Un saludo.

    Gemma

    miércoles, 12 de septiembre de 2018 16:23
  • Uso un archivo txt no una BD.


    Saludos a toda la comunidad.

    miércoles, 12 de septiembre de 2018 16:26