Freigeben über


RowSource-Eigenschaft

Gibt die Herkunft der Werte in einem Kombinationsfeld-Steuerelement (ComboBox) oder Listenfeld-Steuerelement (ListBox) an. Diese Eigenschaft ist zur Entwurfs- und zur Laufzeit verfügbar.

Control.RowSource[ = cName]

Eigenschaftswerte

  • cName
    Gibt die Herkunft der Werte an.

Hinweise

Folgende Herkunft der Werte ist möglich: eine durch Kommas getrennte Liste mit Werten, eine Tabelle, eine SQL-Anweisung, die einen Cursor oder eine Tabelle erstellt, eine Abfrage, ein Array, eine durch Komma getrennte Liste mit Feldern (denen ein Punkt und der Alias der Tabelle vorangestellt sein kann), ein Dateiname mit Platzhaltern (wie z. B. *.dbf oder *.txt), die Feldnamen einer Tabelle oder ein Menü. Mit der RowSourceType-Eigenschaft können Sie den Datenquellentyp festlegen.

Mit Hilfe von RowSource können Sie für ein Kombinationsfeld- (ComboBox) oder Listenfeld-Steuerelement (ListBox) zur Entwurfszeit mehrere Spalten angeben. Zur Angabe mehrerer Spalten setzen Sie RowSourceType auf 1-Value und geben die RowSource-Werte (durch ein Komma getrennt) wie folgt an:

Col1Row1,Col2Row1,Col1Row2,Col2Row2,,Col2Row3

Verwenden Sie die folgende Syntax, um einen Alias für die Tabelle anzugeben, in der die Spalten auftreten:

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

Die angegebenen Werte füllen das Steuerelement zeilenweise bis zur Anzahl der Spalten, die in der ColumnCount-Eigenschaft angegeben sind. Das vorhergehende Beispiel nimmt an, dass ColumnCount auf 2 gesetzt ist. Wie in dem Beispiel gezeigt wird, befindet sich in Spalte 1, Zeile 3 kein Wert, da sich vor Spalte 2, Zeile 3 zwei aufeinanderfolgende Kommas befinden, zwischen denen kein Wert angegeben ist.

Beispiel

Im folgenden Beispiel wird ein Listenfeld erstellt. Die Einträge, die in dem Listenfeld angezeigt werden, stammen aus einem Array, dessen Name mit der RowSource-Eigenschaft angegeben wird. Die RowSourceType-Eigenschaft wird auf 5-Array gesetzt, um anzugeben, dass die Einträge in dem Listenfeld aus einem Array stammen.

Die MultiSelect-Eigenschaft für das Listenfeld ist auf Wahr (.T.) gesetzt und ermöglicht Ihnen so Mehrfachauswahlen aus dem Listenfeld. Der Eintrag oder die Einträge, die Sie in dem Listenfeld auswählen, werden mit den ListCount-, Selected- und List-Eigenschaften angezeigt. Dadurch werden die Anzahl der Einträge in dem Listenfeld sowie die Einträge, die Sie auswählen, festgelegt.

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

Siehe auch

ColumnCount-Eigenschaft | RecordSource-Eigenschaft | RowSourceType-Eigenschaft

Betrifft: Kombinationsfeld-Steuerelement (ComboBox) | Listenfeld-Steuerelement (ListBox)