RowSource (Propiedad)

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

Control.RowSource[ = cName]

Valores de la propiedad

  • cName
    Especifica el origen de los valores.

Observaciones

El origen de los valores puede ser una lista delimitada por comas que contenga valores, una tabla, una instrucción SQL que cree un cursor o una tabla, una consulta, una matriz, una lista de campos delimitada por comas (que puede llevar delante un punto y el alias de tabla), una estructura de archivo (como *.dbf o *.txt), los nombres de los campos de una tabla o un menú. Utilice la propiedad RowSourceType para indicar el tipo de origen de la fila.

Puede utilizar RowSource para especificar varias columnas para un control ComboBox o ListBox en tiempo de diseño. Para especificar varias columnas, establezca RowSourceType en 1 (Valor) y especifique los valores de RowSource (separados por comas) de la siguiente manera:

Col1Row1,Col2Row1,Col1Row2,Col2Row2,,Col2Row3

Para especificar un alias para la tabla que contiene las columnas, utilice la siguiente sintaxis:

Alias.Col1Row1,Col2Row1,Col1Row2,Col2Row2,,Col2Row3

Los valores que especifique llenan el control, por filas, hasta el número de columnas especificado por la propiedad ColumnCount. El ejemplo anterior supone que ColumnCount está establecido como 2. Como se muestra en el ejemplo anterior, no habrá ningún valor en la columna 1, fila 3, porque hay dos comas sucesivas sin ningún valor entre ellas delante de columna 2, fila 3.

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

ColumnCount (Propiedad) | RecordSource (Propiedad) | RowSourceType (Propiedad)

Se aplica a: ComboBox | ListBox