6 de febrero de 2012

ComboBox, ListBox y ListView en VB.NET

Ejemplo de como llenar controles ComboBox, ListBox y ListView en VB.NET, tomar en cuenta lo siguiente:
la base de datos esta diseñada en SQL Express 2008, la tabla se llama img, los campos son: nombre, comentarios y ruta tal como se muestra:


El ejemplo se realizara en Visual Basic, así que creamos un nuevo proyecto con nombre Controles:


mostrare los tres controles en un mismo formulario con el siguiente diseño:


ahora nos conectaremos a la base de datos, para esto dar click derecho en el proyecto y seleccionar propiedades


y escogemos la pestaña Settings en el lado izquierdo, ademas cambiamos el valor de Name a: con y el de Type a Connection String tal como se muestra


luego en value damos al botón examinar al final del campo


y obtendremos una nueva ventana la cual debe tener los campos siguientes, en mi caso esta llena con mi servidor de base de datos y la base a la que me conectare, pero deberán llenar esto según sean sus especificaciones


damos OK y guardamos los cambios en el Settings del proyecto, luego puede notarse que ya tendremos el app.config en el Solution Explorer de nuestro proyecto


al abrir el app.config, el connectionStrings debería estar así: 

<connectionStrings>
        <add name="controles.My.MySettings.con" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=imagenes;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    connectionStrings>

pero debe modificarse para no tener problemas, simplemente dejar la especificación del nombre tal como se muestra:

<connectionStrings>
        <add name="con" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=imagenes;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    connectionStrings>



Guardamos y ahora queda añadir una referencia, para esto click derecho sobre el proyecto y añadir referencia tal como se muestra:





Presionando botón ComboBox

listo, ahora en el formulario, fijarse para el caso del ComboBox que para cargar valores debe presionarse el botón ComboBox y que mostrare en este control los valores de la columna comentarios pero al seleccionar una en especifico se mostrara en el textbox el valor de la columna nombre correpondiente, para esto ustedes pueden verificar las propiedades:

ComboBox1.DataSource = DS.Tables(0)
            ComboBox1.DisplayMember = "comentarios"
            ComboBox1.ValueMember = "nombre"


Así el código para el comboBox queda:

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration

Public Class Form1
   
    Dim sql As String = ConfigurationManager.ConnectionStrings("con").ConnectionString.ToString
    Dim cnn As SqlConnection

    Private Sub BComboBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BComboBox.Click
        cnn = New SqlConnection(Sql)
        Try
            cnn.Open()
            Dim sentence As String = "select * from img"
            Dim DA As New SqlDataAdapter(sentence, cnn)
            Dim DS As New DataSet
            DA.Fill(DS)
            ComboBox1.DataSource = DS.Tables(0)
            ComboBox1.DisplayMember = "comentarios"
            ComboBox1.ValueMember = "nombre"
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString, _
                            "error", MessageBoxButtons.OK, _
                            MessageBoxIcon.Error)
        Finally
            If cnn.State = ConnectionState.Open Then
                cnn.Close()
            End If
        End Try
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        TextBox1.Text = ComboBox1.SelectedValue.ToString
    End Sub

End Class




Presionando botón ListBox

Para el ListBox, al presionar el boton ListBox seleccionaremos la columna comentarios de la tabla img y al seleccionar uno en especifico se mostrara el valor de este en el textbox

Private Sub BListBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BListBox.Click
        cnn = New SqlConnection(sql)
        Try
            cnn.Open()
            Dim strSQL As String
            strSQL = "SELECT comentarios FROM img "
            Dim command As New SqlCommand(strSQL, cnn)
            Dim reader As SqlDataReader = command.ExecuteReader()
            While reader.Read()
                ListBox1.Items.Add(reader.GetString(0))
            End While
            reader.Close()
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString, _
                            "error", MessageBoxButtons.OK, _
                            MessageBoxIcon.Error)
        Finally
            If cnn.State = ConnectionState.Open Then
                cnn.Close()
            End If
        End Try
    End Sub

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        TextBox2.Text = ListBox1.SelectedItem.ToString
    End Sub




Presionando botón ListView

se mostraran todos los datos de la tabla img al presionar el boton ListView

Private Sub MostrarClientes()
        Dim objListItem As New ListViewItem
        Me.ListView1.Items.Clear()

        For Each drw As DataRow In ds.Tables("img").Rows
            objListItem = ListView1.Items.Add(drw.Item("nombre").ToString, 0)
            objListItem.SubItems.Add(drw.Item("comentarios").ToString)
            objListItem.SubItems.Add(drw.Item("ruta").ToString)
        Next
    End Sub


    Private Sub BListView_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BListView.Click
        ListView1.Columns.Clear()
        ListView1.CheckBoxes = True

        ListView1.Columns.Add("Nombre", 100, HorizontalAlignment.Center)
        ListView1.Columns.Add("Comentarios", 100, HorizontalAlignment.Center)
        ListView1.Columns.Add("Ruta", 200, HorizontalAlignment.Center)
        ListView1.View = View.Details
        cnn = New SqlConnection(sql)
        cmd = New SqlCommand("SELECT * FROM img", cnn)
        da = New SqlDataAdapter(cmd)
        cnn.Open()
        da.Fill(ds, "img")
        cnn.Close()
        MostrarClientes()

    End Sub


Compilamos, ejecutamos y ya esta.



lunes, febrero 06, 2012

Related Posts:

  • Conectar JAVA-MySQL utilizando ODBCPara conectar Mysql con Java vía ODBC necesitaremos descargar el connector de la pagina web de MySQL y seleccionar la arquitectura apropiada desde aquí !!! y lo instalamos en nuestra compu...algo muy … Read More
  • Conectar Java-SQL utilizando ODBC Primero se debe acceder desde Panel de Control-->Origenes de Datos-->Administrador de origenes de datos ODBC-->DSN de sistema y agregamos un nuevo DSN de sistema Ahora se debe seleccionar el controlador, selec… Read More
  • Procedimientos Almacenados y Vistas en MySQL-JavaEn esta entrada se utilizaran procedimientos almacenados para ingresar, modificar y eliminar datos de empleado de una tabla en MySQL, ademas se utilizara una vista para mostrar los datos de todos los empleados en un… Read More
  • ACME con JAVA-MySQL sin GUI NetBeansEste ejemplo se trabaja sobre el NetBeans IDE 7.2.1 y sobre la base de datos: empleado, tabla: registro en MySQL, al referirme a que no tendrá GUI es que no se diseñara una interfaz gráfica o JFrame Form, sino … Read More
  • ACME con JAVA-MySQL con GUI NetBeansCreando la Java Application En este ejemplo haremos un buscador de datos de un empleado, también ingresaremos nuevos datos, modificaremos datos existentes y eliminaremos datos de un empleado desde una base de datos … Read More