| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2114 人关注过本帖
标题:请教一个关于list框数据显示即时更新的问题
只看楼主 加入收藏
农民帅哥
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2017-3-7
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:11 
请教一个关于list框数据显示即时更新的问题
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

如上图,在文本框text4输入编号后表中可以搜索定位到相应条件记录号,
但是在list1框中显示的值没有进行相应改变。请教大神们如何在文本框text4中输入值时list1框中显示也进行即时改变
搜索更多相关主题的帖子: 文本框 记录 如何 
2017-05-03 11:23
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9803
专家分:26906
注 册:2012-2-5
收藏
得分:5 
用SET FILTER TO 条件

坚守VFP最后的阵地
2017-05-03 11:28
农民帅哥
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2017-3-7
收藏
得分:0 
回复 2楼 sdta
想过这个方法,但是每次选完后都要重新set filt to太麻烦,如果数据库大一点这个过程也是比较折磨人的
2017-05-03 11:33
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10540
专家分:42927
注 册:2014-5-20
收藏
得分:5 
list1的RowSourceType=3、RowSource="SELECT...FROM...WHERE bh==thisform.text4.value INTO CURSOR tmp_list1"。
需要刷新list1时执行thisform.list1.Requery。
2017-05-03 11:55
农民帅哥
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2017-3-7
收藏
得分:0 
回复 4楼 吹水佬
谢谢老大指点,马上实践
2017-05-03 11:56
农民帅哥
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2017-3-7
收藏
得分:0 
回复 4楼 吹水佬
研究了一会,没怎么弄 明白sql语句在属性里面的使用方法,再研究一下
2017-05-03 14:29
农民帅哥
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2017-3-7
收藏
得分:0 
回复 4楼 吹水佬
老大,请都一下是这个意思吗?
图片附件: 游客没有浏览图片的权限,请 登录注册

2017-05-03 14:38
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:5 
你先增加1个按钮如 command1,其中
** command1.click
thisform.list1.RowSourceType=3
thisform.list1.RowSource="SELECT...FROM...WHERE bh==thisform.text4.value INTO CURSOR tmp_list1"
thisform.list1.Requery
** 看看,是不是你要的,如果是,你再想方法,怎么把 这个功能放到 text4.keykress 去
2017-05-03 14:52
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10540
专家分:42927
注 册:2014-5-20
收藏
得分:0 
回复 8楼 mywisdom88
简单写个示例,是否这意思:
** test.prg
CREATE CURSOR tt (bh C(10), xm C(20))
INSERT INTO tt VALUES ("101", "项目101")
INSERT INTO tt VALUES ("201", "项目201")
INSERT INTO tt VALUES ("301", "项目301")
INSERT INTO tt VALUES ("102", "项目102")
INSERT INTO tt VALUES ("202", "项目202")
INSERT INTO tt VALUES ("302", "项目302")

of = CREATEOBJECT("myform")
of.show(1)

DEFINE CLASS myform as Form
    ADD OBJECT text4 as textbox WITH top=10,left=10,width=100
    ADD OBJECT list1 as listbox WITH top=40,left=10,width=200,;
        ColumnCount = 2,;
        RowSourceType = 3
    PROCEDURE Init
        this._ListRequery()
    ENDPROC
   
    PROCEDURE _ListRequery()
        IF !EMPTY(this.text4.value)
            this.list1.RowSource = "SELECT bh,xm FROM tt WHERE ALLTRIM(thisform.text4.value)$bh INTO CURSOR tmp_list1"
            **this.list1.RowSource = "SELECT bh,xm FROM tt WHERE bh=ALLTRIM(thisform.text4.value) INTO CURSOR tmp_list1"
        ELSE
            this.list1.RowSource = "SELECT bh,xm FROM tt INTO CURSOR tmp_list1"
        ENDIF
        *this.list1.Requery
    ENDFUNC
   
    PROCEDURE text4.InteractiveChange
        thisform._ListRequery()      
    ENDPROC
ENDDEFINE
2017-05-03 15:11
农民帅哥
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2017-3-7
收藏
得分:0 
回复 8楼 mywisdom88
谢谢,应该不是这个意思。
我的目的是在文本框text4中每键入一个字符list1框中就会将相应符合条件的记录显示出来
例如图中输入0415的时候字段编号中包含有0415的第一个记录就会相应的显示在框中第一行
2017-05-03 15:17
快速回复:请教一个关于list框数据显示即时更新的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016325 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved