Visual Basic.NET - Problema con DataGridView y SqlTypes Nulos

   
Vista:

Problema con DataGridView y SqlTypes Nulos

Publicado por Claudio (1 intervención) el 05/09/2011 15:50:30
Hola amigos, espero me puedan ayudar. Estoy tratando de implementar un formulario WindowsForm donde se muestra un DataGridView que muestra datos de una lista de objetos (List Of <T>).

La clase es la siguiente:

1
2
3
4
5
6
Public Class Item
 
    Public Property id() As SqlTypes.SqlInt32
    Public Property text() As SqlTypes.SqlString
 
End Class


Como pueden ver, uso SqlTypes para poder representar valores de una base de datos, incluyendo valores nulos.

Luego, creo un formulario y le agrego un DataGridView llamado DataGridView1. Le agrego dos columnas y establesco la propiedad DataPropertyName de cada una a 'id' y 'text' respectivamente.

Luego, en el evento Load del formulario escribo lo siguiente:
1
2
3
4
5
6
7
8
9
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim lista As New List(Of Item)
 
        lista.Add(New Item() With {.id = 1, .text = "hola!"})
        lista.Add(New Item() With {.id = 2, .text = SqlTypes.SqlString.Null}) 'text es nulo
        lista.Add(New Item() With {.id = 3})                                  'text es nulo
 
        DataGridView1.DataSource = lista
    End Sub


Al ejecutar el formulario en la columna 'text', en las filas donde se visualizan los valores nulos, me muestra el texto 'Null'. Yo quiero que no aparesca nada, en blanco, pero no se como hacerlo, me podrian ayudar , tal vez haya que setear alguna propiedad para hacer esto?.

Espero su ayuda, gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con DataGridView y SqlTypes Nulos

Publicado por Damian (824 intervenciones) el 09/09/2011 15:00:41
Tenes que preguntar con un iif por ejemplo, para saber como viene el valor de la base de datos. Seria algo asi:

1
IIf(tuCampo = "null", " ", " " & tuCampo)

Siendo tuCampo el nombre del campo de tu base de datos y luego asignas dicho campo a tu columna.

Nota: Yo te lo muestro con un iif pero también puede ser con un if.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con DataGridView y SqlTypes Nulos

Publicado por Damian (824 intervenciones) el 09/09/2011 15:03:50
Se me piantaron unas comillas, debería quedar:

IIf(tuCampo = "null", "", tuCampo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar