Un altro metodo che mi sono dimenticato di descriverti è quello di fare un inline if direttamente sulla proprietà e quindi senza dover scrivere code behind e dovrebbe rispecchiare una cosa così:
Visible = '<%# IIf(Databinder.Eval(Container.DataItem, "NomeCol") IS DBNull.Value,False,IIf(Databinder.Eval(Container.DataItem, "NomeCol") = "",False,True)) %>'
altrimenti definisci la seguente funzione:
Protected Function CheckVisible(ByVal valToCheck As Object) As Boolean
If valToCheck IS DBNull.Value OrElse DirectCast(valToCheck,String) = "" Then
Return False
Else
Return True
End Function
e poi metti la proprietà Visible = '<%# CheckVisible(Databinder.Eval(Container.DataItem, "NomeCol")) %>'
enjoy it