none
Agregar Nuevas propiedades a una clase derivara DataGridViewTextBoxColumn. vb 2010 RRS feed

  • Pregunta

  • Hola me llamo Manuel. necesito ayuda , estoy creando controles personalizados (por ejemplo campo texto llamado Userid) que tengan como funcionalidad lo siguiente, que al hacer doble click sobre el control me llame a una pantalla de búsqueda(grilla con lista de registros relacionados a todos los usuarios ) ,  previamente he creado un control personalizado que hereda de un TEXTBOX a esta nueva clase le he agregado propiedades nuevas tipo texto los cuales me permita en diseño agregarles valores tales como Store procedures , y nombres de las columnas que tendrá la grilla de busqueda, el caso es que todo este desarrollo me funciona perfectamente,  el problema es que estoy intentando reflejar toda esta programación dentro de una grilla, ósea lo que quiero es crear una clase que hereda de la clase DataGridViewTextBoxColumn donde pueda crearle nuevas propiedades y en diseño poder asignarlos los valores que necesito  tales como Store procedures , y nombres de las columnas .

    la programación de evento doble click si lo manejo, pero aun no logro la manera de asignarle las propiedades , e intentado lo siguiente.

    he creado una clase DataGridViewTextBoxCell

     

    Public Class TextBoxCellPV

        Inherits Windows.Forms.DataGridViewTextBoxCell

     

        Dim newPv As New FormPVs

        Private mpv As String

        Public Property PV() As String

            Get

                Return mpv

            End Get

            Set(ByVal value As String)

                mpv = value

            End Set

        End Property

        Protected Overrides Sub OnDoubleClick(ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)

            newPv.xProced = Trim("StoreProcedure") '

            newPv.ShowDialog() ' llama al form Busqueda

            MyBase.OnDoubleClick(e)

        End Sub

     

    End Class

    Y una clase  DataGridViewTextBoxColumn

     

    Public Class TextBoxColumnPV

        Inherits Windows.Forms.DataGridViewTextBoxColumn

     

     

        Public mpv As String

        Public Property PV() As String

            Get

                Return mpv

            End Get

            Set(ByVal value As String)

                mpv = value

            End Set

        End Property

        Private mParam1 As String

        Public Property Param1() As String

            Get

                Return mParam1

            End Get

            Set(ByVal value As String)

                mParam1 = value

            End Set

        End Property

     

        Public Sub New()

            Me.CellTemplate = New TextBoxCellPV()

     

        End Sub

     

     

        Public Overrides Function Clone() As Object

            Dim Cell As TextBoxColumnPV = CType(MyBase.Clone(), TextBoxColumnPV)

            Cell.mParam1 = ""

            Cell.mParam2 = ""

            Cell.Param3 = ""

            Return Cell

        End Function

    End Class

     

    ……

     

    Con este codigo puedo agregar por diseño el control TextBoxColumnPV a un datagridview e incluso puedo visualizar en el gridproperty las propiedades que he creado , pero yo digito las valores en estas propiedades , luego doy aceptar , y luego vuelve a ingresar para ver los valores que ingresé pero las propiedades están en blanco , he intentado de todas las manera posibles.

    Por favor su apoyo.

     

    Gracias por el apoyo ….

     

    domingo, 30 de octubre de 2011 1:03