User control con caracteristicas del DataGridView

Discussion in 'ASP .Net Building Controls' started by VictorLeo, Aug 22, 2007.

  1. VictorLeo

    VictorLeo Guest

    Hola.

    Me encargaron hacer un user control
    Es un user control al cual por defecto tiene los botones Adicionar,
    Modificar, Eliminar, Consultar, Buscar, Imprimir, Salir.
    Este user control tiene una propiedad donde se pude cambiar los
    botonos por Aceptar , Cancelar

    Tambien puedes agregarle o quitar botones (aqui uso un smart tag que
    me levanta una pantalla winforms donde agrego o quito los botones)
    todo esto en tiempo de diseño el problema viene cuando ejecuto el
    winforms donde he agregado mi user control.

    Por ejemplo mi user control tiene los botones standar por default
    Adicionar, Modificar, Eliminar, Consultar, Buscar, Imprimir, Salir. y
    elimine y cambie algunos quedando asi Cargar, Anular, Marcar cuando
    ejecuto el winforms me muestra los botones standar Adicionar,
    Modificar, Eliminar, Consultar, Buscar, Imprimir, Salir. y cuando
    regresa a modo edicion me sigue mostrando Adicionar, Modificar,
    Eliminar, Consultar, Buscar, Imprimir, Salir. todo lo que hize se
    perdio.

    Lo que se me ocurrio es ver como lo hace el gridview ya que alli se
    hace mas o menos lo que intento hacer puedes agregar columnas mediante
    smart tag e incluso levantas una ventana donde personalizas la columna
    y lo que pones en modo diseño se mantentiene.
    Me fije en el codigo del diseñador y me llamo la atencion estas lineas
    CType(Me.DataGridView1,
    System.ComponentModel.ISupportInitialize).BeginInit()
    CType(Me.DataGridView1,
    System.ComponentModel.ISupportInitialize).EndInit()
    Esto lo pone al agregar un DataGridView

    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
    Me.DataGridView1 = New System.Windows.Forms.DataGridView
    CType(Me.DataGridView1,
    System.ComponentModel.ISupportInitialize).BeginInit()
    Me.SuspendLayout()
    '
    'DataGridView1
    '
    Me.DataGridView1.ColumnHeadersHeightSizeMode =
    System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
    Me.DataGridView1.Location = New System.Drawing.Point(12, 37)
    Me.DataGridView1.Name = "DataGridView1"
    Me.DataGridView1.Size = New System.Drawing.Size(240, 150)
    Me.DataGridView1.TabIndex = 0
    '
    'Form4
    '
    Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
    Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
    Me.ClientSize = New System.Drawing.Size(292, 273)
    Me.Controls.Add(Me.DataGridView1)
    Me.Name = "Form4"
    Me.Text = "Form4"
    CType(Me.DataGridView1,
    System.ComponentModel.ISupportInitialize).EndInit()
    Me.ResumeLayout(False)

    End Sub
    Friend WithEvents DataGridView1 As
    System.Windows.Forms.DataGridView

    Y cuando agregar columnas
    Private Sub InitializeComponent()
    Me.DataGridView1 = New System.Windows.Forms.DataGridView
    Me.Column1 = New
    System.Windows.Forms.DataGridViewTextBoxColumn
    Me.Column2 = New
    System.Windows.Forms.DataGridViewTextBoxColumn
    CType(Me.DataGridView1,
    System.ComponentModel.ISupportInitialize).BeginInit()
    Me.SuspendLayout()
    '
    'DataGridView1
    '
    Me.DataGridView1.ColumnHeadersHeightSizeMode =
    System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
    Me.DataGridView1.Columns.AddRange(New
    System.Windows.Forms.DataGridViewColumn() {Me.Column1, Me.Column2})
    Me.DataGridView1.Location = New System.Drawing.Point(12, 37)
    Me.DataGridView1.Name = "DataGridView1"
    Me.DataGridView1.Size = New System.Drawing.Size(240, 150)
    Me.DataGridView1.TabIndex = 0
    '
    'Column1
    '
    Me.Column1.HeaderText = "Column1"
    Me.Column1.Name = "Column1"
    '
    'Column2
    '
    Me.Column2.HeaderText = "Column2"
    Me.Column2.Name = "Column2"
    '
    'Form4
    '
    Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
    Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
    Me.ClientSize = New System.Drawing.Size(292, 273)
    Me.Controls.Add(Me.DataGridView1)
    Me.Name = "Form4"
    Me.Text = "Form4"
    CType(Me.DataGridView1,
    System.ComponentModel.ISupportInitialize).EndInit()
    Me.ResumeLayout(False)

    End Sub
    Friend WithEvents DataGridView1 As
    System.Windows.Forms.DataGridView
    Friend WithEvents Column1 As
    System.Windows.Forms.DataGridViewTextBoxColumn
    Friend WithEvents Column2 As
    System.Windows.Forms.DataGridViewTextBoxColumn

    Al parecer el DataGridView es un contenedor y las columnas son
    controles que se agregan al DataGridView tambien me percate que el
    archivo de recurso pone esto
    Column1.UserAddedColumn Sytem.Boolean True
    Column2.UserAddedColumn Sytem.Boolean True

    Bueno se que tengo que usar la misma logica que tiene el DataGridView
    pero no sabria por donde empezar ya que intente usar
    System.ComponentModel.ISupportInitialize pero me sale error haber si
    alguien tiene un ejemplo o pista de por donde empezar la solucion de
    esto . De antemano gracias
    VictorLeo, Aug 22, 2007
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Liber
    Replies:
    4
    Views:
    4,754
    Tristan
    Sep 6, 2004
  2. Replies:
    4
    Views:
    4,166
  3. Napster
    Replies:
    1
    Views:
    335
    Victor Bazarov
    Jan 6, 2008
  4. Napster
    Replies:
    1
    Views:
    300
    Andrew Thompson
    Jan 5, 2008
  5. Matteo Mancini

    Piccolo con problema con il tipo float

    Matteo Mancini, Oct 8, 2007, in forum: Ruby
    Replies:
    3
    Views:
    195
    Jano Svitok
    Oct 8, 2007
Loading...

Share This Page