Alex's Weblog

Weblog di Ermanno Goletto (Codename Alex - A Learning EXperience)
posts - 438, comments - 4214, trackbacks - 294

My Links

News

Il blog è stato
trasferito al
 seguente link:


DevAdmin Blog

Add my blog to Live

Foto

Curriculum Vitae


Il contenuto di questo blog e di ciascun post viene fornito “così come é”, senza garanzie, e non conferisce alcun diritto. Questo blog riporta il mio personale pensiero che non riflette necessariamente il pensiero del mio datore di lavoro.

Logo Creative Commons Deed


Logo MCTS

Logo MCSA

Logo MCP

Logo Microsoft Certified Business Management Solutions Professional

Microsoft Certified Business Management Solutions Specialist


Logo UGIdotNET UGIdotNET Contributor


Logo UGISS UGISS Contributor


Logo SysAdmin.it SysAdmin.it Staff


Article Categories

Archives

Post Categories

Blogs

Database

Development

Friends

IT

Knowledge Base

Links

MBS

MCP

MVP Sites

User Groups

Virtualization

PropertyGrid: gestione delle date nulle

Ha volte capita di voler gestire tramite il controllo PropertyGrid delle date i cui valori sono memorizzati in un database, diventa quindi necessario gestire il caso della data nulla.

Si supponga  di avere la seguente tabella:
Config
    ID (PK String)
    Data (Date)

per cui si è proveduto a generare una DataTest tipizzato ConfigSchema contenente la DataTable tipizzata Config.
Per poter gestire i dati tramite un PropertyGrid è necessario costruirsi una Classe wrapper avente due proprietà ID e Data:

Public Class ConfigWrapper
    Private _Row As ConfigSchema.ConfigRow

    Public Sub New(ByVal row As ConfigSchema.ConfigRow)
        Me._Row = row
    End Sub

    Public Property ID() As String
        Get
            Return Me._Row.ID
        End Get
        Set(ByVal Value As String)
            Me._Row.ID = Value
        End Set
    End Property

    Public Property Data() As Date
        Get
            Return Me._Row.Data
        End Get
        Set(ByVal Value As Date)
            Me._Row.Data = Value
        End Set
    End Property
End Class

Si nota subito però che la presenza del valore DBNull in Me._Row.Data genera un'eccezione che rende impossibile modificare la proprietà Data. Nel caso però Me._Row.Data non contenga DBNull e si cancelli il valore della proprietà Data il PropertyGrid imposta Me._Row.Data al valore Date.MinValue.Possiamo quindi "mappare" il valore DBNull sul Date.MinValue e viceversa evitando di generare l'eccezione modificando come segue la proprietà Data:

    Public Property Data() As Date
        Get
            If Me._Row.IsDataNull Then
                Return Date.MinValue
            Else
                Return Me._Row.Data
            End If
        End Get
        Set(ByVal Value As Date)
            If Date.Equals(Value, Date.MinValue) Then
                Me._Row.SetDataNull()
            Else
                Me._Row.Data = Value
            End If
        End Set
    End Property

Print | posted on domenica 1 febbraio 2004 22:42 | Filed Under [ Code & Snippet .NET Framework ]

Feedback

Gravatar

# Diflucan.

Diflucan.
05/01/2011 12:45 | Diflucan.
Gravatar

# re: PropertyGrid: gestione delle date nulle

Obtaining precise sizes will render the best waist training results. Prior to you get on the weighing range, ensure that the one you have checks out precisely.
17/08/2015 07:44 | sizes will render
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET