VFP 转豆十三

本文详细介绍了文本列表查询与组合框自动筛选的实现方法,包括表单初始化、按键事件处理、文本框交互事件及组合框的查询与自动筛选功能。通过实例代码演示了如何在表单中实现高效的数据查询与筛选,适用于数据库应用开发。
 

 Text+List查询--设表单上的这个文本框和列表框分别为:Text1和List11--表单Init事件代码:This.KeyPreview=.T.This.List1.Visible=.F.2

--表单KeyPress事件代码:Lparameters nKeyCode, nShiftAltCtrlIf (nKeyCode=5 Or nKeyCode=24 Or nKeyCode=13) And This.List1.Visible And This.List1.ListItemId>0 And This.Text1.Tag='1' If nKeyCode=13 This.Text1.Value=This.List1.Value This.List1.Visible=.F. Else lnListID=Iif(nKeyCode=5,Max(This.list1.ListItemId-1,1),Min(This.list1.ListItemId+1,This.list1.ListCount)) This.list1.ListItemId=lnListID Nodefault EndifEndif3--Text1的GotFocus事件代码:This.Tag='1'--Text1的LostFocus事件代码:*Thisform.List1.Visible=.F.This.Tag=''--Text1的InteractiveChange事件代码:If !Empty(This.Value) Thisform.list1.RowSource=Null Select 名称 From 商品名 Where Alltrim(This.Value)$拼音简码 Into Cursor t1 Order By 名称 Thisform.list1.RowSourceType=6 Thisform.list1.RowSource="t1.名称" If Reccount('t1')>0 Thisform.List1.ListItemId=1 Thisform.List1.Visible=.T. Else Thisform.List1.Visible=.F. EndifElse Thisform.List1.Visible=.F.Endif--List1 的Click事件代码:Thisform.Text1.Value=This.List1.ValueThis.Visible=.F.*-----------------------------------------------ComboBox组合框查询If !Empty(This.DisplayValue) Select 姓名 Into Cursor T1 From kq_yg Where Alltrim(This.DisplayValue)$姓名 If _Tally>0 This.RowSourceType= 6 This.RowSource='T1.姓名' This.SetFocus Keyboard '{F4}' Else Messagebox("没有你要查询的数据",48,"信息提示") This.Clear EndifEndif1 把以上代码添加组合框的: InteractiveChange 事件中! 2 你的数据源必须来自于一个数据表!,并将表名和字段名替换正确! *-----------------------------------------------Combobox下拉框自动筛选(如在Google中输入字符)*--------------------------------------------By:js_szy注:未测试 在列表框combo 的 keypress中加如下代码:If nkeycode>0 If nkeycode=127 &&退格 If Asc(Right(Input_value,1)) <128 &&删除非汉字 Input_value=Left(Input_value,Len(Input_value)-1) Else &&删除汉字 Input_value=Left(Input_value,Len(Input_value)-2) Endif Else If nkeycode <>160 &&按的不是Alt+↓键 Input_value=Input_value+Chr(nkeycode) &&保存输入内容 Endif Endif Sele 表名 Set Filt To Alltrim(Input_value) $ 字段名称 Count To num If num=0 Then Set Filt To Input_value='' This.Value='' Endif Thisform.Combo.Requery Keyboard '{F4}'Endif

 

原文:

 

http://topic.youkuaiyun.com/u/20111011/10/a3416705-0932-4dd5-ab65-d98af407b0b6.html?133331341

看实例学VFP:复选框控件 时间:2009-03-24来源:编程入门网 作者:老马   在vfp基础教程-复选框一文中,已经给出了复选框控件的常用属性。这个控件的使用重点是对它的value属性值的判断上,另外也可以通过controlsource属性把它和表中的某个逻辑型字段绑定,同时也可以在它支持的click、interactiveChange等事件中进行编程。   本文是一个在复选框控件的interactiveChange事件中编程的小例子,运行时通过复选框的选择来控制label控件的文字大小及颜色变化,运行界面如下:   制作步骤:   一、新建表单,将其caption属性值设置为“编程入门网-复选框控件”,保存为“复选框控件.scx”。   二、向表单上添加一个label控件,caption属性值设为“编程入门网”,fontsize属性值设为10,AutoSize属性值设为.t.,Forecolor属性值设为“0,0,255”(rgb颜色)   三、向表单添加两个复选框控件,caption属性值依次设置为“增大字号”和“改变颜色”,其它属性值采用默认的。   四、添加事件代码:   1.复选框check1(“增大字号”)的interactiveChange事件: if this.value=1 thisform.label1.fontsize=18 else thisform.label1.fontsize=10 endif   2.复选框check2(“改变颜色”)的interactiveChange事件: if this.value=1 thisform.label1.forecolor=rgb(255,0,0) else thisform.label1.forecolor=rgb(0,0,255) endif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值