当前位置: 代码迷 >> VFP >> combobox 的 rowsourcetype 有structure popup collection 是什么意思?该怎么处理
  详细解决方案

combobox 的 rowsourcetype 有structure popup collection 是什么意思?该怎么处理

热度:2435   发布时间:2013-02-26 00:00:00.0
combobox 的 rowsourcetype 有structure popup collection 是什么意思?
如题.谢谢.

我想做一个类似 excel 中单元格,输入一个学校名称 比如 河南, 让combobox 自动提示 河南开头的学校名称.如果没有就按我输入的显示并存到表中.下次再输入时,就提示有,并自动键入.

我在看 combobox 中 rowsourcetype 有新的 structure popup collection 这是什么意思呢>

------解决方案--------------------------------------------------------
SQL code
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
  相关解决方案