Autor Tema: Trabajar con el DataBindings de .Net en un control personalizado  (Leído 3184 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Jonhyrey

  • Sv Full Member
  • *
  • Mensajes: 558
Buen día a todos.

Estoy creando un control personalizado que consta de un texto encargado del código y otro texto encargado de la descripción.

El control funciona: asignando un datasource al mismo y desde ahi se puede tener acceso al código y la descripción de un catálogo simple; despues de seleccionar el código de una lista desplegable los datos seleccionados pasan a los controles que les corresponden. De hecho, el control funciona a la perfección.

Solo que necesito añadir una propiedad a este control para que pueda setear la propiedad DataBindings-Text del textbox que maneja el código, he tratado de Sobreescribir esta propiedad pero no se como funciona. He tratado de la siguiente forma:

Public Property DataBinding() as Object
Get
Return Me.txtcodigo.databindings
End Get
Set
Me.txtCodigo.Databindings = value
End Set
End Property

Pero la propiedad no funciona de esa manera. Lo que busco es que desde alguna propiedad del control yo pueda setear el DataBinding de mi txtCodigo.

Si me pueden ayudar estaré muy agradecido.

Saludos



sicario

  • Visitante
Re: Trabajar con el DataBindings de .Net en un control personalizado
« Respuesta #1 : diciembre 28, 2007, 04:14:31 pm »
mira.. cuando me ha pasado eso que necesito sobreescribir alguna propiedad.. yo utilizo shadow property ... para que me permita sobreescribirla.. pero no se si esa propiedad se dejara.... proba y cualquier cosa volve a preguntar.


saludos  :drinks:

Desconectado Jonhyrey

  • Sv Full Member
  • *
  • Mensajes: 558
Re: Trabajar con el DataBindings de .Net en un control personalizado
« Respuesta #2 : diciembre 28, 2007, 04:29:13 pm »
Pues... si... ya intenté con el shadows... lo que estoy viendo ahorita es que el "DataBindings" se ve como que fuera una propiedad en el diseñador, pero en sí no hay ninguna opción donde se establezcan los valores necesarios.... lo que estoy probando ahorita es hacer un sub que sirva para ingresar el enlace... lo voy a probar así a ver si funca.

Gracias... Ahi les cuento por cualquier cosa



Desconectado Jonhyrey

  • Sv Full Member
  • *
  • Mensajes: 558
Re: Trabajar con el DataBindings de .Net en un control personalizado
« Respuesta #3 : diciembre 28, 2007, 04:49:46 pm »
Ahi va el procedimiento:

    ''' <summary>
    ''' Metodo utilizado para enlazar el control a un origen de datos
    ''' <para>dt: Origen de datos</para>
    ''' <para >Propiedad: Propiedad a la que se le asignará el enlace</para>
    ''' <para>Campo_Enlace; Campo de la tabla a la que se enlazará el objeto</para>
    ''' </summary>
    ''' <remarks></remarks>
    <Description("Metodo utilizado para establecer un enlace de la base de datos con este control")> _
    Public Sub AddBinding(ByVal dt As DataTable, ByVal Propiedad As String, ByVal Campo_Enlace As String)
        Me.txtCodigo.DataBindings.Add("Text", dt, Campo_Enlace)
    End Sub

Pero por gusto .... :blackeye:   no funca.... y hasta ahorita ya no se me ocurre nada.



sicario

  • Visitante
Re: Trabajar con el DataBindings de .Net en un control personalizado
« Respuesta #4 : diciembre 29, 2007, 08:37:33 am »
mira pero a todo esto.... porque queres "reinventar la rueda"? ... digo... porque queres sobreescribir la propiedad cuando ya por defecto la tenes en cualesquiera de los objetos que se te ocurran hacer.

digo... porque no haces un bosquejo de tu idea... podria ser que te podamos dar una alternativa al asunto.

Desconectado Jonhyrey

  • Sv Full Member
  • *
  • Mensajes: 558
Re: Trabajar con el DataBindings de .Net en un control personalizado
« Respuesta #5 : enero 02, 2008, 01:38:55 pm »
Lo que pasa, es que.. cuando se crea un control compuesto, las propiedades de los controles que conforman a este control dejan de ser vistas por los usuarios a menos que se creen propiedades "a patita" para que el usuario pueda manejar las propiedades de los controles contenidos. Un ejemplo, la propiedad "Location"  para que un label se pueda mover dentro del control compuesto y para que se pueda alinear con los label que no forman parte del control.

El problema que tenía es que yo deseaba poner la propiedad bindings así como la propiedad "Location", sonaba logico para mi.... pero al analizar un poco más el asunto, me di cuenta que no era necesario hacer esto..... bastó con poner una propiedad publica que en el get y el set que tuviera esto:

Return Me.txtCodigo.text  y en el set Me.txtCodigo.text = value

Con esta propiedad, enlacé los datos desde el diseñador y asunto arreglado...

Gracias por su tiempo



sicario

  • Visitante
Re: Trabajar con el DataBindings de .Net en un control personalizado
« Respuesta #6 : enero 02, 2008, 01:50:09 pm »
achis!   :evil: asumi que eso ya lo sabias... bueno lo importante es que ya lo superaste amigo