none
¿Cómo formateo una columna de un DataGridView para que se vea en mayúsculas? RRS feed

  • Pregunta

  • Suponiendo que está enlazado a una tabla de base de datos y el contenido en la tabla tiene unas filas en mayúsculas y otras en minúsculas. ¿Cómo especifico el formato de la columna para que se visualice siempre en mayúsculas?

     With DataGridView1.Columns(5)
            .HeaderText = "UNA COLUMNA DE TEXTO"
            .Width = 105
            .DefaultCellStyle.Format = ¿qué pondría aquí para que el contenido de cada celda se vea en mayúsculas?
          End With
    y si es posible sin espacios iniciales o finales para que centre el texto correctamente. Entiendo que como sólo se está formateando la visualización, el contenido en sí se mantiene tal cual.



    sábado, 8 de junio de 2019 23:58

Respuestas

  • Hola:
    Prueba la siguiente consulta contra la base de datos Northwind

    SELECT UPPER(Lastname),TRIM(Title) FROM Employees

    Tal vez te de la idea que buscas

    Un saludo desde Bilbo
    Carlos

    • Marcado como respuesta James2016-2 domingo, 9 de junio de 2019 8:42
    domingo, 9 de junio de 2019 6:37
  • No, el DataGridView por sí solo no sabe hacer ninguna de las dos cosas: Ni convertir los datos a mayúsculas ni ni suprimir los espacios iniciales y finales. No se pueden conseguir estos efectos simplemente cambiando el formato.

    Así que es necesario hacer el cambio durante el proceso que usas para alimentar de datos al DataGridView. Hay que modificar esos datos (transitoriamente en memoria, no hay que modificarlos en la ubicación de la que provienen los datos originalmente) antes de alimentar con ellos al DataGridView.

    La forma de hacer este cambio en los datos depende de cómo los estés obteniendo y cómo se los estás pasando al DataGridView. Si provienen de una base de datos, se puede incluir la instrucción de conversión directamente en la sentencia SQL. En una respuesta anterior ya te han puesto un ejemplo de cómo se haría esto contra SQL Server. Otros motores de base de datos disponen de funcionalidad similar, aunque las funciones concretas a utilizar varían de unos a otros.

    Si no es ese el caso, sino que generas tus datos directamente sobre un contenedor tal como un DataTable para luego vincular ese DataTable con el DataGridView, entonces puedes aplicar un bucle que recorra el DataTable y vaya aplicando un ToUpper y Trim a todas las celdas en las que quieras realizar esta operación.

    • Marcado como respuesta James2016-2 domingo, 9 de junio de 2019 8:41
    domingo, 9 de junio de 2019 6:46

Todas las respuestas

  • Hola:
    Prueba la siguiente consulta contra la base de datos Northwind

    SELECT UPPER(Lastname),TRIM(Title) FROM Employees

    Tal vez te de la idea que buscas

    Un saludo desde Bilbo
    Carlos

    • Marcado como respuesta James2016-2 domingo, 9 de junio de 2019 8:42
    domingo, 9 de junio de 2019 6:37
  • No, el DataGridView por sí solo no sabe hacer ninguna de las dos cosas: Ni convertir los datos a mayúsculas ni ni suprimir los espacios iniciales y finales. No se pueden conseguir estos efectos simplemente cambiando el formato.

    Así que es necesario hacer el cambio durante el proceso que usas para alimentar de datos al DataGridView. Hay que modificar esos datos (transitoriamente en memoria, no hay que modificarlos en la ubicación de la que provienen los datos originalmente) antes de alimentar con ellos al DataGridView.

    La forma de hacer este cambio en los datos depende de cómo los estés obteniendo y cómo se los estás pasando al DataGridView. Si provienen de una base de datos, se puede incluir la instrucción de conversión directamente en la sentencia SQL. En una respuesta anterior ya te han puesto un ejemplo de cómo se haría esto contra SQL Server. Otros motores de base de datos disponen de funcionalidad similar, aunque las funciones concretas a utilizar varían de unos a otros.

    Si no es ese el caso, sino que generas tus datos directamente sobre un contenedor tal como un DataTable para luego vincular ese DataTable con el DataGridView, entonces puedes aplicar un bucle que recorra el DataTable y vaya aplicando un ToUpper y Trim a todas las celdas en las que quieras realizar esta operación.

    • Marcado como respuesta James2016-2 domingo, 9 de junio de 2019 8:41
    domingo, 9 de junio de 2019 6:46
  • mm tiene que ser entonces necesariamente desde afuera, antes de pasarle los datos, pensé que se podía como se puede con datos numéricos, pero veo que no, bueno, ni modo. Gracias.
    domingo, 9 de junio de 2019 8:41
  • Gracias por el ejemplo de cómo hacerlo desde una consulta SQL.
    domingo, 9 de junio de 2019 8:42