GridProperty

03/04/2006 - 19:08 por Oscar | Informe spam
Amigos alguien podria indicarme un pequeño ejemplo (solo codigo) de como
asociar datos a este control ?, trabaja como un DataGridView?

Gracias.

Preguntas similare

Leer las respuestas

#6 Oscar
04/04/2006 - 00:04 | Informe spam
Con el ejemplo que me das me doy cuenta que el camino para dominar Basic
.NET es muy largo pero con ganas y tremendas ojeras lo conseguire... :-)

"Jesús López" escribió en el mensaje
news:
Nada más sencillo :-). Utiliza el atributo Description en la propiedad.

Imports System.ComponentModel
...

Private _Nombre As String
<Description("El nombre del cliente")> _
Public Property Nombre() As String
Get
Return _Nombre
End Get
Set(ByVal value As String)
_Nombre = value
End Set
End Property


Para leer el valor de la propiedad debes tener una referencia al objeto,
si has creado el objeto podrás quedarte con él, digo yo

Dim c As New Cliente
MiPropertyGrid.SelectedObject = c


Dim Nombre As String = c.Nombre

También puedes obtener una referncia al objeto de esta manera:

Dim c As Cliente = DirectCast(MiPropertyGrid.SelectedObject, Cliente)
Dim Nombre As String = c.Nombre

Saludos:

Jesús López



"Oscar" escribió en el mensaje
news:
Nuevamente gracias Jesus, sabes cree una clase Cllente con las
siguientes propiedades:

Public Class Cliente

Private _Nombre As String

Private _ApellidoPaterno As String

Private _ApellidoMaterno As String

Private _Edad As Integer

Private _Ocupacion As String

Private _Actividad As Char

Private _Direccion As String

Public Property Nombre() As String

Get

Return _Nombre

End Get

Set(ByVal value As String)

_Nombre = value

End Set

End Property

Public Property ApellidoPaterno() As String

Get

Return _ApellidoPaterno

End Get

Set(ByVal value As String)

_ApellidoPaterno = value

End Set

End Property

Public Property ApellidoMaterno() As String

Get

Return _ApellidoMaterno

End Get

Set(ByVal value As String)

_ApellidoMaterno = value

End Set

End Property

Public Property Edad() As Integer

Get

Return _Edad

End Get

Set(ByVal value As Integer)

_Edad = value

End Set

End Property

Public Property Ocupacion() As String

Get

Return _Ocupacion

End Get

Set(ByVal value As String)

_Ocupacion = value

End Set

End Property

Public Property Actividad() As Char

Get

Return _Actividad

End Get

Set(ByVal value As Char)

_Actividad = value

End Set

End Property

Public Property Direccion() As String

Get

Return _Direccion

End Get

Set(ByVal value As String)

_Direccion = value

End Set

End Property

End Class

Y al utilizar el siguiente codigo:

Dim cl As New Cliente

Me.PropertyGrid1.SelectedObject = cl

Me muestra las propiedades de la clase, y alli salta otra interrogante
Jesus (Bueno dos ;-) ), que agregaria a las propiedades de la clase
clientes para que al ubicar el cursor a la Propiedad Nombre del control
PropertygGrid, apareciera una descripcion a la que se refiere dicha
propiedad asi como cuando seleccionamos un textbox en tiempo de diseño y
al hacer click en la propiedad Text, aparece "Texto asociado al control",
y la segunda es como podria programaticamente obtener el valor de la
propiedad Nombre, es decir Ingreso Jesus y quiero leer el String "Jesus",
para insertarlo en la BD.

Espero no abusar de la ayuda que me das...Gracias

"Jesús López" escribió en el mensaje
news:
Lo que puedes hacer es enlazar el combo o un listbox con un DataView o
un datatable que tenga un registro por cada cliente, y que incluya todos
los campos correspondientes a un cliente, luego en el evento
SelectedItemChanged del combo o listbox escribes un código como este:

MiPropertyGrid.SelectedObject = MiListBox.SelectedItem

Saludos:

Jesús López


"Oscar" escribió en el mensaje
news:
Gracias Jesus por responder, lo que queria es por ejemplo llenar en
combo los nombres de clientes y en este control mostrar todos los
registros asociado al usuario seleccionado, mas que nada porque su
formato muestra los valores en forma vertical y no horizontal como una
grilla, podria hacer esto ?, como podria hacer que el nombre de un
cliente se comporte como un objeto y sus DNI, Direccion, etc como
propiedades para mostrarlo con este control.

Espero me haya explicado bien... :-) gracias.

"Jesús López" escribió en el mensaje
news:
El PropertyGrid no funciona como un DataGridView, sirve para editar
las propiedades de un objeto.

MiPropertyGrid.SelectedObject = UnObjeto

Saludos:

Jesús López

"Oscar" escribió en el mensaje
news:
Amigos alguien podria indicarme un pequeño ejemplo (solo codigo) de
como asociar datos a este control ?, trabaja como un DataGridView?

Gracias.





















Respuesta Responder a este mensaje
#7 Oscar
04/04/2006 - 00:09 | Informe spam
a jesus me olvidava en Basic 2005 el atributo es DescriptionAttribute porque
cuando le colocaba Description me advertia un error.


"Jesús López" escribió en el mensaje
news:
Nada más sencillo :-). Utiliza el atributo Description en la propiedad.

Imports System.ComponentModel
...

Private _Nombre As String
<Description("El nombre del cliente")> _
Public Property Nombre() As String
Get
Return _Nombre
End Get
Set(ByVal value As String)
_Nombre = value
End Set
End Property


Para leer el valor de la propiedad debes tener una referencia al objeto,
si has creado el objeto podrás quedarte con él, digo yo

Dim c As New Cliente
MiPropertyGrid.SelectedObject = c


Dim Nombre As String = c.Nombre

También puedes obtener una referncia al objeto de esta manera:

Dim c As Cliente = DirectCast(MiPropertyGrid.SelectedObject, Cliente)
Dim Nombre As String = c.Nombre

Saludos:

Jesús López



"Oscar" escribió en el mensaje
news:
Nuevamente gracias Jesus, sabes cree una clase Cllente con las
siguientes propiedades:

Public Class Cliente

Private _Nombre As String

Private _ApellidoPaterno As String

Private _ApellidoMaterno As String

Private _Edad As Integer

Private _Ocupacion As String

Private _Actividad As Char

Private _Direccion As String

Public Property Nombre() As String

Get

Return _Nombre

End Get

Set(ByVal value As String)

_Nombre = value

End Set

End Property

Public Property ApellidoPaterno() As String

Get

Return _ApellidoPaterno

End Get

Set(ByVal value As String)

_ApellidoPaterno = value

End Set

End Property

Public Property ApellidoMaterno() As String

Get

Return _ApellidoMaterno

End Get

Set(ByVal value As String)

_ApellidoMaterno = value

End Set

End Property

Public Property Edad() As Integer

Get

Return _Edad

End Get

Set(ByVal value As Integer)

_Edad = value

End Set

End Property

Public Property Ocupacion() As String

Get

Return _Ocupacion

End Get

Set(ByVal value As String)

_Ocupacion = value

End Set

End Property

Public Property Actividad() As Char

Get

Return _Actividad

End Get

Set(ByVal value As Char)

_Actividad = value

End Set

End Property

Public Property Direccion() As String

Get

Return _Direccion

End Get

Set(ByVal value As String)

_Direccion = value

End Set

End Property

End Class

Y al utilizar el siguiente codigo:

Dim cl As New Cliente

Me.PropertyGrid1.SelectedObject = cl

Me muestra las propiedades de la clase, y alli salta otra interrogante
Jesus (Bueno dos ;-) ), que agregaria a las propiedades de la clase
clientes para que al ubicar el cursor a la Propiedad Nombre del control
PropertygGrid, apareciera una descripcion a la que se refiere dicha
propiedad asi como cuando seleccionamos un textbox en tiempo de diseño y
al hacer click en la propiedad Text, aparece "Texto asociado al control",
y la segunda es como podria programaticamente obtener el valor de la
propiedad Nombre, es decir Ingreso Jesus y quiero leer el String "Jesus",
para insertarlo en la BD.

Espero no abusar de la ayuda que me das...Gracias

"Jesús López" escribió en el mensaje
news:
Lo que puedes hacer es enlazar el combo o un listbox con un DataView o
un datatable que tenga un registro por cada cliente, y que incluya todos
los campos correspondientes a un cliente, luego en el evento
SelectedItemChanged del combo o listbox escribes un código como este:

MiPropertyGrid.SelectedObject = MiListBox.SelectedItem

Saludos:

Jesús López


"Oscar" escribió en el mensaje
news:
Gracias Jesus por responder, lo que queria es por ejemplo llenar en
combo los nombres de clientes y en este control mostrar todos los
registros asociado al usuario seleccionado, mas que nada porque su
formato muestra los valores en forma vertical y no horizontal como una
grilla, podria hacer esto ?, como podria hacer que el nombre de un
cliente se comporte como un objeto y sus DNI, Direccion, etc como
propiedades para mostrarlo con este control.

Espero me haya explicado bien... :-) gracias.

"Jesús López" escribió en el mensaje
news:
El PropertyGrid no funciona como un DataGridView, sirve para editar
las propiedades de un objeto.

MiPropertyGrid.SelectedObject = UnObjeto

Saludos:

Jesús López

"Oscar" escribió en el mensaje
news:
Amigos alguien podria indicarme un pequeño ejemplo (solo codigo) de
como asociar datos a este control ?, trabaja como un DataGridView?

Gracias.





















Respuesta Responder a este mensaje
#8 Eduardo A. Morcillo [MS MVP VB]
04/04/2006 - 04:45 | Informe spam
a jesus me olvidava en Basic 2005 el atributo es DescriptionAttribute
porque cuando le colocaba Description me advertia un error.



No se que error tendrias, pero la parte Attribute del nombre de la clase
puede omitirse, es decir, la forma que ha dicho Jesus es correcta.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#9 Oscar
04/04/2006 - 17:45 | Informe spam
oK gRACIAS, LO REVISARE...

"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:
a jesus me olvidava en Basic 2005 el atributo es DescriptionAttribute
porque cuando le colocaba Description me advertia un error.



No se que error tendrias, pero la parte Attribute del nombre de la clase
puede omitirse, es decir, la forma que ha dicho Jesus es correcta.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida