Share via


List (Propiedad)

Una matriz de cadenas de caracteres empleadas para tener acceso a los elementos de un control ComboBox o ListBox. No está disponible en tiempo de diseño; es de lectura y escritura en tiempo de ejecución.

Control.List(nRow [, nCol]])[ = cChar]

Valores de la propiedad

  • nRow
    Especifica la fila del elemento que se recupera mediante el orden de presentación. Por ejemplo, nRow = 3 especifica la tercera fila que se muestra en la lista.
  • nCol
    Especifica la columna del elemento que se recupera mediante el orden de presentación. Por ejemplo, nCol = 2 especifica la segunda columna que se muestra en la lista. Si no se especifica nCol, la propiedad List recupera la primera columna de forma predeterminada. Especifique nCol sólo para controles ComboBox y ListBox que tengan más de una columna.
  • cChar
    Especifica un valor que se agrega a un cuadro combinado o un cuadro de lista.

Observaciones

La propiedad List funciona junto a la propiedad ListCount; al enumerar una lista desde 1 hasta el valor devuelto por ListCount, se devuelven todos los elementos de la lista.

No puede utilizar funciones de matriz con la propiedad List. Sin embargo, si establece la propiedad RowSourceType como 5 (Matriz) y establece la propiedad RowSource como la matriz de valores que van a estar contenidos en la lista, puede usar funciones de matriz en la matriz especificada por la propiedad RowSource.

Nota   Cuando RowSourceType se establece como 0 ó 1, agrega elementos a un control ComboBox o ListBox mediante el método AddItem. Para eliminar elementos, utilice el método RemoveItem. Para mantener los elementos en orden alfabético, establezca la propiedad Sorted del control en el valor verdadero (.T.) antes de agregar elementos a la lista.

Ejemplo

En el ejemplo siguiente, se utiliza ListCount para dibujar un círculo alrededor de todos los elementos especificados por la propiedad List del control ComboBox o ListBox

El siguiente ejemplo crea un cuadro de lista. El origen de los elementos que aparecen en el cuadro de lista es una matriz, especificada con las propiedades RowSourceType y RowSource.

La propiedad MultiSelect para el cuadro de lista está establecida en el valor verdadero (.T.), lo que permite realizar varias selecciones desde el cuadro de lista. La propiedad ListCount se utiliza dentro de un bucle FOR ... ENDFOR para mostrar los elementos elegidos en el cuadro de lista. La propiedad Selected se utiliza para determinar los elementos que eligió y la propiedad List sirve para devolver estos elementos.

CLEAR

DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10  && Fill the array with letters
   STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
ENDFOR

frmMyForm = CREATEOBJECT('Form')  && Create a Form
frmMyForm.Closable = .F.  && Disable the Control menu box 

frmMyForm.Move(150,10)  && Move the form

* Add "Quit" command button and list box control
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn')
frmMyForm.AddObject('lstListBox1','lstMyListBox')

* && Specifies an array containing listbox items
frmMyForm.lstListBox1.RowSourceType = 5
frmMyForm.lstListBox1.RowSource = 'gaMyListArray'

frmMyForm.cmbCommand1.Visible =.T.  && "Quit" Command button visible
frmMyForm.lstListBox1.Visible =.T.  && "List Box visible

frmMyForm.SHOW  && Display the form
READ EVENTS  && Start event processing

DEFINE CLASS cmdMyCmdBtn AS CommandButton  && Create Command button
   Caption = '\<Quit'  && Caption on the Command button
   Cancel = .T.  && Default Cancel Command button (Esc)
   Left = 125  && Command button column
   Top = 210  && Command button row
   Height = 25  && Command button height

   PROCEDURE Click
      CLEAR EVENTS  && Stop event processing, close Form
      CLEAR  && Clear main Visual FoxPro window
ENDDEFINE

DEFINE CLASS lstMyListBox AS ListBox  && Create ListBox control
   Left = 10  && List Box column
   Top = 10  && List Box row
   MultiSelect = .T.  && Allow selecting more than 1 item

PROCEDURE Click
   ACTIVATE SCREEN
   CLEAR
   ? "Selected items:"
   ? "---------------"
   FOR nCnt = 1 TO ThisForm.lstListBox1.ListCount
      IF ThisForm.lstListBox1.Selected(nCnt)  && Is item selected?
         ? SPACE(5) + ThisForm.lstListBox1.List(nCnt) && Show item
      ENDIF
   ENDFOR

ENDDEFINE

Vea también

AddItem (Método) | IndexToItemID (Método) | ItemIDToIndex (Método) | ListCount (Propiedad) | ListItem (Propiedad) | ListItemID (Propiedad) | RowSource | RowSourceType | Sorted (Propiedad)

Se aplica a: ComboBox | ListBox