Cómo utilizar AddItem y AddListItem y cómo se están diferentes

Seleccione idioma Seleccione idioma
Id. de artículo: 138498 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Métodos el AddItem y AddListItem agregan elementos a cuadros combinados o cuadros de lista. Este artículo resalta su funcionalidad y las diferencias entre los dos métodos. En concreto, este artículo muestra por qué el método AddListitem podría ser una forma mejor para llenar un cuadro combinado de varias columnas.

Más información

Los métodos AddItem y AddlistItem agregar elementos a una lista y aceptan dos parámetros opcionales. Las diferencias entre los dos métodos se reflejan en las diferencias entre su primer parámetro; AddItem acepta nListIndex como su primer parámetro y AddListItem acepta nListItemId como su primer parámetro.

Hay dos formas de identificar un elemento en una lista:

  • Su posición relativa, que representa el orden en que los elementos se muestran en la lista. Si se agrega un elemento a la lista, puede cambiar la posición relativa de otros elementos. Esto es similar al orden de índice de una tabla. El entero que contiene este valor se conoce como nIndex.
  • Su posición absoluta, que representa el orden en que el elemento se agrega a la lista. Este valor no es dependiente de la forma se muestran los elementos en la lista y no cambia cuando se modifique el número de elementos en la lista. Este concepto es similar a la función recNo(), que se utiliza para identificar registros de una tabla. El entero que contiene este valor se conoce como nItemId.
Estos dos números pueden ser idénticos, pero son diferentes cuando se ordena la lista o cuando se agregan o se quita de la lista elementos.

El método AddItem inserta un elemento basándose en su posición relativa en la lista. La sintaxis es:
Control.AddItem(cItem [, nIndex] [, nColumn])
El método AddListItem le permite crear un identificador único para el artículo y utiliza nItemId. Si el elemento ya existe, se sustituye el símbolo del sistema. La sintaxis es:
Control.AddListItem(cItem [, nItemID] [, nColumn])
En el ejemplo siguiente se muestra cómo utilizar los métodos AddItem y AddListItem. Para ejecutar el ejemplo, copie y pegue el código en un archivo de programa.

Código de ejemplo

Omyform=CREATE('myform')
Omyform.Show()
READ EVENTS

DEFINE Class myform AS Form
   ADD OBJECT list1 AS mylist
   ADD OBJECT list2 AS mylist2
   ADD OBJECT cmd1 AS cmdquit
ENDDEFINE

DEFINE Class cmdquit AS CommandButton
   Top=105
   Left = 55
   Caption="Quit"
   PROCEDURE Click
      CLEAR EVENTS
      RELEASE Thisform
   ENDPROC
ENDDEFINE

DEFINE Class mylist AS ListBox && Defines a list filled with Additem
   Top = 3
   Left=5
   Width=90
   Height=90
   RowSourceType=0
   PROCEDURE Init
      This.AddItem('Apples',1)
      This.AddItem('Oranges',2)
      This.AddItem('Lemons',2)  && Element inserted before 'Oranges'
   ENDPROC
ENDDEFINE

DEFINE Class mylist2 AS ListBox &&Defines a list filled with AddListitem
   Top = 3
   Left=100
   Width=90
   Height=90
   RowSourceType=0

   PROCEDURE Init
      This.AddListItem('Apples',1)
      This.AddListItem('Oranges',2)
      This.AddListItem('Lemons',2) && Prompt overwrites 'Oranges'
   ENDPROC
ENDDEFINE
				

Cuadros de lista de columnas múltiples

El método AddItem podría no producir los resultados esperados cuando se utiliza para rellenar un cuadro de lista de varias columnas. El siguiente ejemplo de paso a paso ilustra cómo se muestran los elementos de un cuadro de lista de columnas múltiples cuando se utiliza el método AddItem.

  1. Crear un formulario.
  2. Coloque un cuadro de lista en el formulario.
  3. Cambie las propiedades siguientes del cuadro de lista:
       ColumnCount : 2
       ColumnWidths: 80,80
    							
  4. Guarde el formulario como formularioDePrueba y ejecútelo.
  5. En la ventana comando, escriba:
       TestForm.List1.AddItem("One",1,1)
       TestForm.List1.AddItem("Two",1,2)
       TestForm.List1.AddItem("Three",2,1)
       TestForm.List1.AddItem("Four",2,2)
    							
La lista resultante es como sigue:
    ---------------------
    |         |   Two    |
    |         |   Four   |
    | Three   |          |
    | One     |          |
    ---------------------
				
esto ocurre porque el AddItem inserta cada elemento en la posición relativa especificada por el entero de nIndex.

Utilice el ListItemId para llenar un cuadro combinado de varias columnas y agregar elementos en la misma fila. Utilizando el ejemplo anterior y reemplazando AddItem con AddListItem, la lista de este aspecto:
   ------------------------
   | One       | Two      |
   | Three     | Four     |
   ------------------------
				
para obtener más información acerca de los métodos AddItem y AddListItem, buscar "AddItem" o "AddListItem" en el archivo de Ayuda de Visual FoxPro.

Propiedades

Id. de artículo: 138498 - Última revisión: martes, 10 de agosto de 1999 - Versión: 1.1
La información de este artículo se refiere a:
  • Microsoft Visual FoxPro 3.0 Standard Edition
Palabras clave: 
kbmt KB138498 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 138498

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com