Compartir a través de


RowSourceType (Propiedad)

Especifica el tipo de origen para los valores de un control. Está disponible en tiempo de diseño y en tiempo de ejecución.

Control.RowSourceType[ = nSource]

Valores de la propiedad

  • nSource
    Los valores para la propiedad RowSourceType son:

    Valor Descripción
    0 (Valor predeterminado) Ninguno. Si utiliza el valor predeterminado, rellene la lista en tiempo de ejecución utilizando los métodos AddItem o AddListItem.
    1 Valor. Se rellena con una lista delimitada por comas.
    2 Alias. Utilice la propiedad ColumnCount para seleccionar campos de la tabla.
    3 Instrucción SQL. Un comando SELECT de SQL que crea un cursor o una tabla.
    4 Consulta (.qpr). Especifica un nombre de archivo con extensión .qpr.
    5 Matriz. Establece las propiedades de columna para mostrar varias dimensiones.
    6 Campos. Una lista de campos delimitada por comas. Los campos pueden llevar delante un punto y el alias de tabla.
    7 Archivos. La lista se rellena desde el directorio actual. Especifique una estructura de archivo (como *.dbf o *.txt) u ocúltela en la propiedad RowSource.
    8 Estructura. Campos de la tabla especificada en RowSource.

    Tenga en cuenta que cuando RowSourceType está establecido en 8, si la propiedad RowSource está vacía, se usa la tabla seleccionada como origen para los valores del control ComboBox o ListBox. En caso contrario, la propiedad RowSource especifica el alias de la tabla, el nombre de la tabla o el nombre de la base de datos usada como origen para los valores del control ComboBox o ListBox.

    9 Emergente. Se incluye por compatibilidad con versiones anteriores.

    Para obtener más información acerca de cómo utilizar cada valor de RowSourceType, vea Aplicación de cuadros de lista y cuadros de lista desplegables.

Ejemplo

El siguiente ejemplo crea un cuadro de lista. El origen de los elementos que aparecen como elementos de un cuadro de lista es una matriz; el nombre de la matriz se especifica con la propiedad RowSource. La propiedad RowSourceType se establece como 5 (matriz) para especificar que una matriz es el origen de los elementos del cuadro de lista.

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. El elemento o elementos que elija en el cuadro de lista aparecerán usando las propiedades ListCount, Selected y List para determinar el número de elementos del cuadro de lista y los elementos que ha elegido.

CLEAR

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

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

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

frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn')  && Add "Quit" Command button
frmMyForm.AddObject('lstListBox1','lstMyListBox')  && Add ListBox control

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

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

RowSource (Propiedad)

Se aplica a: ComboBox | ListBox