J# UNIDAD 3: ARREGLOS

TEMA 5: SELECTIONLIST (LISTBOX)

ListBox uno de los nuevos MOBILEControls es un componente DINAMICO(es decir no tiene tamano definido) que permite procesar visualmente un conjunto de elementos de tipo string.

La propiedad Rows ( en la forma ) que se usa al crearlo es solo para indicarle cuantos renglones desplegara en pantalla es decir si se usa rows=5, en listbox se podra capturar todos los elementos o datos que se quiera pero solo desplegara los ultimos cinco elementos.

Sin embargo existen ciertas propiedades del listbox que permiten conocer cuantos elementos estan cargados en el listbox.

Otra importante aspecto a recordar cuando se procese o programe es que el primer indice de la lista es tambien el indice numero 0(cero).

Este componente contiene muchas propiedades y metodos que facilitan el trabajo con datos la mas importante es su propiedad ITEMS que a su vez tiene:

PROPIEDAD ACCION O SIGNIFICADO

Items.Add(dato): Inserta un elemento al final del listbox.

Items.Clear(): Elimina todos los elementos de la lista.

Items.Count(): Regresa la cantidad de elementos en lista.

Items.Sorted=true; Ordena los elementos de la lista usada solo al tiempo de diseno.

Items.Contains(dato): Regresa true o false, si el dato se encuentra o no se encuentra en la lista.

Items.IndexOf(dato): Regresa el indice del objeto dentro del listbox.

Items.Insert(indice,dato): Inserta el dato en la posicion indicada.

Items.Remove(dato): Elimina el dato de el listbox.

Items.RemoveAt(indice): Elimina el dato que esta en la posicion indicada.

Items[indice].Text: get or set el dato en la posicion indicada (ver primera nota abajo).

Notas:

Como ya se indico anteriormente get or set son propiedades asociadas a todos los objetos o controles y sus propiedades de microsoft.net y en jsharp esto ha quedado plenamente asentado como lo demuestra todos los ejercicios construidos.

Este get-set se puede usar para cualquier propiedad, por ejemplo alfa=listbox8.background; se esta usando get, pero si se codifica listbox8.background=amarillol se esta usando set, como se observa es importante entender y aplicar este GET-SET en todos los programas, usando el formato de jsharp ya ampliamente practicado.

Capturas: Solo se ocupara un Text, el evento click del button, y el metodo Add del ListBox.

Proceso: Se ocupara un ciclo for , y los metodos count y text de ListBox.Items[indice).

Despliegues: No se ocupa, porque todos los cambios son visibles.

Pero si se quiere pasar de un ListBox a otro ListBox, entonces ciclo for, count, etc.

ejemplo prog13.aspx

// inicializando objetos mobiles
// y definiendo lenguaje a usar por servidor
<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"
Language=VJ# %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile"%>
// todos los controles ponerlos dentro de una forma
<mobile:Form runat=server>
EDAD<mobile:TEXTBOX ID=DATO RUNAT=SERVER/>
<mobile:COMMAND TEXT=INSERTAR ONCLICK=INSERTAR RUNAT=SERVER/><BR>
<mobile:SELECTIONLIST ID=LISTA SELECTTYPE=LISTBOX ROWS=5 runat=server>
</mobile:SELECTIONLIST>
<mobile:COMMAND TEXT=PROCESAR ONCLICK=PROCESAR RUNAT=SERVER/><BR>
</mobile:Form>
<SCRIPT RUNAT=SERVER>
void INSERTAR(Object sender, EventArgs e)
{
LISTA.get_Items().Add(Convert.ToString(DATO.get_Text()));
DATO.set_Text(" ");
}
void PROCESAR (Object sender, EventArgs e)
{
int reng, cant, meses;
cant = LISTA.get_Items().get_Count();
for(reng=0; reng<=cant-1; reng++)
{
String temp =Convert.ToString(LISTA.get_Items().get_Item(reng) );
meses= Convert.ToInt32(temp) * 12;
LISTA.get_Items().RemoveAt(reng);
LISTA.get_Items().Insert(reng, Convert.ToString(meses) );
};
}
</SCRIPT>

Recordar que el primer indice en un ListBox es el cero por eso el ciclo va desde el cero hasta la cantidad de elementos menos uno.

Corrida:

image495.jpg

COMO ULTIMA NOTA IMPORTANTE ES QUE EXISTEN EN GENERAL DOS OBJETOS SIMILARES LIST Y LISTBOX(ESTE ULTIMO DERIVADO DE SELECTIONLIST) Y AUNQUE EN ESTE CURSO SE HA USADO POR SIMPLICIDAD LISTBOX, EXISTIRAN CIRCUNSTANCIAS DONDE SERA MAS CONVENIENTE USAR LIST, POR EJEMPLO LISTAS MUY GRANDES.

TAREAS PROGRAMACION J# mobile

1.- CAPTURAR EN UNA LISTA LOS SUELDOS DE 6 EMPLEADOS Y DESPLEGARLOS EN UNA SEGUNDA LISTA AUMENTADOS EN UN 30%

2.- CAPTURAR EN UNA LISTA LOS PESOS EN KILOGRAMOS DE 6 PERSONAS DESPLEGARLOS EN UNA SEGUNDA LISTA CONVERTIDOS A LIBRAS Y ADEMAS SOLO LOS MAYORES DE 100 LIBRAS.

3.- CAPTURAR EN SUS 4 LISTAS RESPECTIVAS MATRICULA, NOMBRE Y DOS CALIFICACIONES DE 5 ALUMNOS, DESPUES CALCULAR UNA LISTA DE PROMEDIOS DE CALIFICACIONES.

4.- CAPTURAR EN SUS LISTAS RESPECTIVAS NUMEMPLEADO, NOMEMPLEADO, DIAS TRABAJADOS Y SUELDO DIARIO DE 5 EMPLEADOS, DESPLEGAR EN OTRA PANTALLA O PANEL LA NOMINA PERO SOLO DE AQUELLOS EMPLEADOS QUE GANAN MAS DE $300.00 A LA SEMANA.

Politica de Privacidad