Děkuji za příklad. Držet data zdroje mě také napadlo, ale snaha byla se tomu nějak vyhnout a pracovat přímo s propertygridem. Je dobré vědět, že se někdo vydal stejnou cestou. Už stačí jen přidat porovnání hodnoty s vlastnostmi Min a Max. Pro refresh propertygridu u vlastnosti používám atribut RefreshProperties(RefreshProperties.All). ... Mám ještě dotaz ohledně zobrazení objektu osoba(zaměstnanec) v propertygridu. Mám níže uvedené třídy, zaměstnance zobrazím v property gridu a mohu po rozbalení editovat samostatně jméno a příjmení. Zajímá mě, jak docílit možnost upravovat jméno a příjmení přímo v řádku, kde mi vrací ToString jméno a příjmení s mezerou podobně jako např. Point, který lze upravovat ve všech třech řádcích, sloučený s čárkou nebo samostatně. Nepodařilo se mi najít, jak se s tím vypořádat.
Public Class Person
Private m_FirstName As String
<DisplayName("Jméno"), RefreshProperties(RefreshProperties.All), _
DescriptionAttribute("Jméno")> _
Public Property FirstName() As String
Get
Return m_FirstName
End Get
Set(ByVal value As String)
m_FirstName = value
End Set
End Property
Private m_LastName As String
<DisplayName("Příjmení"), RefreshProperties(RefreshProperties.All), _
DescriptionAttribute("Příjmení")> _
Public Property LastName() As String
Get
Return m_LastName
End Get
Set(ByVal value As String)
m_LastName = value
End Set
End Property
End Class
Public Class Employee
Inherits Person
Private m_BirthDate As Date
<DisplayName("Datum narozenin"), _
DescriptionAttribute("")> _
Public Property Birthdate() As Date
Get
Birthdate = m_BirthDate
End Get
Set(ByVal value As Date)
m_BirthDate = value
End Set
End Property
' Override ToString.
Public Overrides Function ToString() As String
Return FirstName & " " & LastName
End Function
Public Sub New(ByVal FirstName As String, ByVal LastName As String)
Me.FirstName = FirstName
Me.LastName = LastName
End Sub
End Class
|