Unidad 49. Selección de datos (II)





49.4. Utilización.

La utilización de estos dos objetos es similar, ya que como hemos dicho cambia la forma de exponer los datos, pero no la de utilizarlos.

En estos objetos para comprender su utilización hay que comprender cual es su filosofía.

Estos dos objetos, combobox y listbox, lo que almacenan en su interior no es información en realidad, si no que lo que hacen es almacenar objetos que representan datos.

Hay que tener presente que a nivel de programación, una cosa es lo que el usuario necesita y otra lo que necesitamos a nivel de programa.

El usuario necesita la denominación de un dato para facilitar la selección del mismo, pero a nosotros no nos interesa la denominación del mismo, si no su código.

Por lo tanto hay que combinar ambas necesidades, y eso lo hacemos en el momento de incorporar los datos al objeto en cuestión.

Lo que se hace, teniendo en cuenta que lo que se gestiona en el listbox y en el combobox, son objetos, es crear un objeto que por un lado incorpore la denominación pero por otro a nosotros nos permita conocer su código.

 

Así que desarrollamos una clase que nos permita generar un objeto que contenga los dos datos, el código y la denominación.

 

Private Class Combo_List

  Private Denom As String

  Private Codig As String

  ' Inicialización del objeto

  Public Sub New(ByVal Descripcion As String, _

ByVal Codigo As String)

  Denom = Descripcion

  Codig = Codigo

  End Sub

  ' Devuelve la denominación

  Public Overrides Function ToString() As String

  Return Denom

  End Function

  ' Devuelve el código

  Public Function Codigo() As String

  Return Codig

  End Function

  Public Function Denominacion() As String

  Return Denom

  End Function

End Class

 

1    Carga.

Una vez que disponemos de una clase que nos permite generar objetos de la forma que nos interesa a nosotros, lo que queda es añadir objetos de esa clase a la colección de objetos del listbox o del combobox.

 

Dim Objeto As Combo_Lista

Objeto = New Combo_Lista(Denom,Codigo)

Combo.Items.Add(Objeto)

 

La explicación es la siguiente.

 

Dim Objeto As Combo_Lista

 

Definimos un objeto del tipo Combo_Lista, la clase que hemos creado antes.

 

Objeto = New Combo_Lista(Denom,Codigo)

 

Creamos una instancia del objeto incorporándole en su constructor el código y la denominación del dato que deseamos incorporar al ComboBox o ListBox.

 

Combo.Items.Add(Objeto)

 

Y después solo hay que añadirlo a la colección de objetos del ComboBox.

 

Denom y Codigo representan las variables que contienen los datos que nos interesa incorporar al objeto.

 

Una vez que disponemos de la colección cargada los objetos, los datos, pueden verse en el combo o en el listbox.

2    Recuperación.

El siguiente paso es recuperar los datos que hay en los mismos.

Podemos hacerlo con el siguiente código.

 

Dim Nacion As Combo_Lista

Nacion = CType(ComboBox.SelectedItem, Combo_Lista)

Codigo = Nacion.Codigo

 

La explicación es la siguiente.

 

Dim Nacion As Combo_Lista

 

Creamos un objeto del mismo tipo que hemos incorporado al ComboBox.

 

Nacion = CType(ComboBox.SelectedItem, Combo_Lista)

 

Recuperamos el elemento seleccionado en el ComboBox, que nos lo proporciona SelectedItem.

 

Codigo = Nacion.Codigo

 

Después solo queda asignar a la variable que nos interese el valor del código.

3    Cuantos tenemos,

Utilizando el método Count de las colecciones disponibles podemos saber cuantos elementos hay en la colección de objetos, o en la de seleccionados.

 

Cuantos = Lista.Ítems.Count

4    Vaciado del contenido.

Para ello se utiliza el método clear en cualquiera de los dos objetos.

 

ListaNueva.Items.Clear()

5    Eliminar un elemento.

Disponemos de los métodos Remove y RemoveAt, en cualquiera de los dos objetos.

La sintaxis es la que sigue.

 

Combo.Items.RemoveAt(2)

Combo.Items.RemoveAt(Combo.SelectedIndex)

 

O bien

 

Lista.Items.Remove

Lista.Items.Remove(Lista.SelectedItem)

 

Con RemoveAt  eliminamos el elemento que se indica en el argumento como índice.

Con Remove se elimina el objeto que se indica.

Octubre-2010
Pág. 49.2

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies