miércoles, 18 de mayo de 2011

-->

Agregar un UserControl dinamicamente en VB:NET
Bueno Estuve ausente por algun tiempo debido a cuestiones personales,
pero aqui les traigo un nuevo post estoy seguro que les sra de mucha utilidad,
muchas veces nos hemos visto en la necesidad de incrustar 
un cojntrol de usuario a nuestro proyecto, pero q sucede cuando
este ya esta compilado o cuando debemos cambiar el diseño nuestro trabajo
sin duda se trunca y volver a inicar se vuelve sin duda en nuestro via crusis.
ademas no es conveniente limitar al sistema
hay que procurar parametrar el sitema de la mayor forma
tanto asi que nada sea independiente de nada , 
bueno no seamos tan literales pero ese es la idea.
sin mas floro gente describo el ejemplioooo

creamos un nuevo proyecto al cual yo le llame cargardll

y una vez ya creado agregamos un mdi al cual lo llamaremos MDI_PADRE 


 limpiamos el mdi; es decir; eliminamos los controles que vienen por default ,



agregamos un MenuStrip al proyecto el cual los toolsstringItem
son {archivo, logistica, ventas, reportes, busqueda, administracion} 
y listo calistoo


agreamos un sub item al de logistica como orden de compras y dobleclick sobre el nos mostrara un editor de codigo en el cual vamos a empezar para ello agregamos un subproceso llamado new_formulario dodne se encontrara nuestro code
nota: observemos que en el extremo  derecho aparece nuestra referencia es decir nuestro dll del user control
 



Sub New_formulario()
'INSTRANCIAMOS EL USER CONTROL
Dim UCONTROL As New UC_ORDENCOMPRAS.UcOrdenCompras
'capturamos el ancho y alto de usercontrol
Dim X As Integer = UCONTROL.Width
Dim Y As Integer = UCONTROL.Height
'Y DECLAMARON UN A INSTANCIA DE TIPO FORM
Dim FRMORDENCOMPAS As New Form 
With FRMORDENCOMPAS
'TEXTTO DE CABEZERA
.Text = "GENERACION ORDEN DE COMPRAS"       
'tamaño del contenedor o form
.Size = New Size(X + 20, Y + 20)
'agregamos el usercontrol al formulario
.Controls.Add(UCONTROL)
.MaximizeBox = False
.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
.ShowDialog() 'llamar al formulario
End With
End Sub



'y en el item orden de compras llamamos al subproceso New_formulario

 Private Sub ORDENDECOMPRASToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ORDENDECOMPRASToolStripMenuItem.Click
New_formulario()
End Sub


y en el evento load del mdi llamos la propiedad WindowState 
y el indicamos que sea maximizado; es decir; 
que cuando inice el mdi inicie de modo maximixado (pantalla completa)


Private Sub MDI_PADRE_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'inicar el mdi maximizado
Me.WindowState = FormWindowState.Maximized    
End Sub



listo bandidosss!! ejecutamos el programa 

 

El resultado sera el siguiente



bueno espero que halla sido de utilidad y nos vemos en otra oportunidad
si necesitan algo no duden en escribirme y con gusto los ayudo 
aunq soy himilde no lo se too desde luegoo

sábado, 23 de abril de 2011

Concatenar Columnas en un ComboBox
Muchos de nosotros estoy seguro, hemos intentado
cambiar esa vista que tiene el combobox y
me refiero al cambo que muestra en su propiedad DisplayMember
es aburrido y poco descriptivo mostrar solo el codigo
en algunos casos Ojo no digo siempre , pero en su gran mayoria.
Como La teoria es tambien importantee
les dejo una tablita Para que la Repasen












Buenoo Ya tenemos Lo Basico y sim mas Floro
les Dejo El Siguiente Ejempliooo .En Sql Server Escribimos en el Query lo siguiente

--CREAMOS EL SCRIP PARA VISUALIZAR UNA DESCRIPCION PERSONALIZADA
--VOY A TOMAR EN CONSIDERACION MI TABLA QUE YA TENGO CREADA
--LLAMADA TG_LINEA

SELECT IDLINEA,
CONVERT(VARCHAR,'[' + IDLINEA + ']' + SPACE(3) + DESLINEA) AS DESCRIPCION
FROM TG_LINEA L

EL RESULTADO SERA EL SIGUIENTE









Y LUEGO NUESTRO CODIGO EN VB.NET SERA MASOMENOS EL SIGUIENTE

Imports System.Data.SqlClient
Imports System.Configuration

Public Class CboExample
    'ESTABLECEMOS LA CONCECION  ES ESTE CASO MI ConnectionStrings SE
    'ENCUENTRA EN MI ARCHIVO DE CONFIGURACION
    Dim CN As New SqlConnection(ConfigurationManager.ConnectionStrings("cn").ConnectionString)
    'ESTABLECEMOS EL SCRITP Y LO ALMACENAMOS
    Dim Query As String = "SELECT IDLINEA, " & _
    "CONVERT(VARCHAR,'[' + IDLINEA + ']' + SPACE(3) + DESLINEA) AS DESCRIPCION" & _
    "FROM TG_LINEA L"
    'INSTACIAMOS NUESTRO CONTENEDOR DE DATOS
    Dim DT As New DataTable

    Private Sub CboExample_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'DECLARAMOS Y PASAMOS LOS PARAMATROS AL DATAADAPTER
        Dim DA As New SqlDataAdapter(Query, CN)
        DT.Clear() : DA.Fill(DT) 'LIMPIAMOS NUESTRO DATATABLE Y LO LLENAMOS
        With ComboBox1
            .DataSource = DT ' LLENAMOS EL  CBO
            .DisplayMember = "DESCRIPCION" ' OBTENEMOS EL CAMPO CREADO EN SQL
            .ValueMember = "IDLINEA" 'OBTENEMOLS EL VALOR DEL CAMPO
            .DropDownWidth = 250 ' EL TAMAÑO DE DE LA LISTA
        End With
    End Sub
End Class

FINALMENTE SE VISUALIZARA ASI: