如何让vfp listbox控件第一行显示数据库最后一条数据
1个回答
展开全部
*可以用Recno()和 recccount()函数让数据库倒序,例子如下:
CLEAR
LOCAL _rcount
*----- 生成一个示范文件 ----*
CREATE CURSOR tst (ziduan C(6) )
FOR gnCount = 1 to 10 && 用字母填充数组
INSERT INTO tst (ziduan) VALUES (REPLICATE(CHR(gnCount+64),6))
NEXT
*----- 用行号倒序排列
_rcount=RECCOUNT()
INDEX on _rcount-RECNO() TO r:\tmpidx.idx && r:\tmpidx.idx 是(临时)索引的文件,请留意路径,请按机器的情况自行修改。
*----
frmMyForm = CREATEOBJECT('Form') && 创建表单
frmMyForm.Closable = .f. && 废止控制菜单框
frmMyForm.Move(150,10) && 移动表单
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn') && 添加 "Quit" 命令按钮
frmMyForm.AddObject('lstListBox1','lstMyListBox') && 添加 ListBox 控件
frmMyForm.lstListBox1.RowSourceType = 6 && 字段
frmMyForm.lstListBox1.RowSource = 'ziduan' && 包含 listbox 项目的字段名
frmMyForm.cmbCommand1.Visible =.T. && "Quit" 命令按钮可见
frmMyForm.lstListBox1.Visible =.T. && 列表框可见
frmMyForm.SHOW && 显示表单
READ EVENTS && 启动事件处理
DEFINE CLASS cmdMyCmdBtn AS CommandButton && 创建命令按钮
Caption = '\<Quit' && 命令按钮上的标题
Cancel = .T. && 默认 Cancel 命令按钮 (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. && 允许选择 1 以上的项目
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
CLEAR
LOCAL _rcount
*----- 生成一个示范文件 ----*
CREATE CURSOR tst (ziduan C(6) )
FOR gnCount = 1 to 10 && 用字母填充数组
INSERT INTO tst (ziduan) VALUES (REPLICATE(CHR(gnCount+64),6))
NEXT
*----- 用行号倒序排列
_rcount=RECCOUNT()
INDEX on _rcount-RECNO() TO r:\tmpidx.idx && r:\tmpidx.idx 是(临时)索引的文件,请留意路径,请按机器的情况自行修改。
*----
frmMyForm = CREATEOBJECT('Form') && 创建表单
frmMyForm.Closable = .f. && 废止控制菜单框
frmMyForm.Move(150,10) && 移动表单
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn') && 添加 "Quit" 命令按钮
frmMyForm.AddObject('lstListBox1','lstMyListBox') && 添加 ListBox 控件
frmMyForm.lstListBox1.RowSourceType = 6 && 字段
frmMyForm.lstListBox1.RowSource = 'ziduan' && 包含 listbox 项目的字段名
frmMyForm.cmbCommand1.Visible =.T. && "Quit" 命令按钮可见
frmMyForm.lstListBox1.Visible =.T. && 列表框可见
frmMyForm.SHOW && 显示表单
READ EVENTS && 启动事件处理
DEFINE CLASS cmdMyCmdBtn AS CommandButton && 创建命令按钮
Caption = '\<Quit' && 命令按钮上的标题
Cancel = .T. && 默认 Cancel 命令按钮 (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. && 允许选择 1 以上的项目
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
参考资料: VFP 9.0 中文帮助文件
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询