vfp 组合框中rowsourse属性是什么意思?
发布网友
发布时间:2022-04-06 13:07
我来回答
共2个回答
热心网友
时间:2022-04-06 14:37
指定组合框或列表框控制中值的来源。
应用于
组合框,列表框
语法
Control.RowSource[ = cName]
设置
cName
指定值的来源。
说明
设计和运行时可用。
值的来源可以是用逗号分隔的值列表、表、创建表或临时表的 SQL 语句、查询、数组、用逗号分隔的字段列表(可以在字段前加上一个句点和表的别名)、文件梗概(诸如 *.DBF 或 *.TXT)、表的字段名称或菜单。使用 RowSourceType 属性可以设置行源的类型。
在设计时可以使用 RowSource 属性给组合框或列表框控制指定多个列。要指定多个列,RowSourceType 应该设置为 1 (值),然后按如下方式指定各个列(用逗号分隔)
Col1Row1,Col2Row1,Col1Row2,Col2Row2,,Col2Row3
指定的值按行填充控制,每行填充的列数由 ColumnCount 属性指定。上面的示例假设 ColumnCount 的设置为 2。正如下面的示例中表明的那样,在第 3 行第 1 列中将没有值,这是因为在第 3 行第 2 列之前有两个连续的逗号,逗号之间没有值。
----------------------------------------------------------------------
*下面的示例创建了一个列表框。出现在列表框中的项源是一个数
* 组。数组的名称由 RowSource 属性指定。RowSourceType 属性的
* 设置是 5 (数组)。它指定列表框中的项源是一个数组。
*列表框的 MultiSelect 属性设置为“真”(.T.),即允许从列表框中做
* 多项选择。并用 ListCount 将从列表框中所做的选择显示出来。
* 使用 Selected 和 List 属性可以确定列表框中项的数目和选择的项。
CLEAR
DIMENSION gaMyListArray(10)
FOR gnCount = 1 to 10 && 用字母填充数组
STORE REPLICATE(CHR(gnCount+64),6) TO gaMyListArray(gnCount)
NEXT
frmMyForm = CREATEOBJECT('Form') && 创建一个表单
frmMyForm.Closable = .f. && 使控制菜单失效
frmMyForm.Move(150,10) && 移动表单
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn') && 添加 “Quit”命令按钮
frmMyForm.AddObject('lstListBox1','lstMyListBox') && 添加 ListBox 控制
frmMyForm.lstListBox1.RowSourceType = 5 && 指定一个数组
frmMyForm.lstListBox1.RowSource = 'gaMyListArray' && 包含列表框项的数组
frmMyForm.cmbCommand1.Visible =.T. && 将 “Quit” 命令按钮设置为可见的
frmMyForm.lstListBox1.Visible =.T. && 将 ListBox 设置为可见的
frmMyForm.SHOW && 显示表单
READ EVENTS && 开始事件处理
DEFINE CLASS cmdMyCmdBtn AS CommandButton && 创建命令按钮
Caption = '\<Quit' && 命令按钮上的标题
Cancel = .T. && 默认的取消按钮(Esc)
Left = 125 && 命令按钮所在列
Top = 210 && 命令按钮所在行
Height = 25 && 命令按钮的高度
PROCEDURE Click
CLEAR EVENTS && 结束事件处理,关闭表单
CLEAR && 清除 Visual FoxPro 主窗口
ENDDEFINE
DEFINE CLASS lstMyListBox AS ListBox && 创建 ListBox
Left = 10 && 列表框所在列
Top = 10 && 列表框所在行
MultiSelect = .T. && 允许选择多个项
PROCEDURE Click
ACTIVATE SCREEN
CLEAR
? "Selected items:"
? "---------------"
FOR nCnt = 1 TO ThisForm.lstListBox1.ListCount
IF ThisForm.lstListBox1.Selected(nCnt) && 选择了此项吗?
? SPACE(5) + ThisForm.lstListBox1.List(nCnt) && 显示此项
ENDIF
ENDFOR
ENDDEFINE
热心网友
时间:2022-04-06 15:55
应该是 rowsource 吧
指定组合框控件中数据值的源。也就是rowsource 可以指定某个表来作为他的数据源