| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2534 人关注过本帖
标题:各位大神,过年好,请教listbox的问题
只看楼主 加入收藏
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:0 
回复 10楼 ilikeflash
俺在 7 楼的回复楼主可曾试过?

泉城飞狐
2016-02-18 07:56
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:995
专家分:4966
注 册:2013-2-16
收藏
得分:4 
感觉7楼的答案,是最贴近你的实际情况的,要把这个游标设置为可读写,还要刷新游标,一般人可能会忽略这个。还有,删除List中的项目,在数据源设置为1、2时,才有效。
2016-02-18 08:51
ilikeflash
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:148
专家分:186
注 册:2011-4-6
收藏
得分:0 
@liuxingang28,试啦,在游标中也能正确标示出删除标记,但是无法在游标中使用pack命令,正抓狂呢
2016-02-18 08:56
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
控件数据源绑定了表时,有时读写控件的属性或调用控件的方法会存在一些意想不到的结果,通常是直接处理绑定的表,控件只是用来作为表数据的映照(数据感知)。

如果要随机增删List条目,不用绑定表就简单点,确要RecordSourceType=3,RowSource的SQL SELECT语句可以带条件表达式,或RowSource用动态SQL SELECT语句,这样就可以用list1.Requery刷新列表。
2016-02-18 09:33
ilikeflash
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:148
专家分:186
注 册:2011-4-6
收藏
得分:0 
用笨办法,在数据库新建了一个自由表储存结果集,问题算是解决啦,谢谢各位热心帮助
2016-02-18 11:21
ilikeflash
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:148
专家分:186
注 册:2011-4-6
收藏
得分:0 
忘了在哪里结贴啦,咋给各位分呀
2016-02-18 11:26
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:0 
回复 13楼 ilikeflash
为什么要对游标 Pack 呢?设置 Set Delete ON 不行吗?

泉城飞狐
2016-02-18 11:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
一定要用RowSourceType=3,可以试试:
程序代码:
** Test.prg 双击列表删除条目
CREATE CURSOR tt (f1 C(10))
INSERT INTO tt VALUES ("101")
INSERT INTO tt VALUES ("202")
INSERT INTO tt VALUES ("303")
INSERT INTO tt VALUES ("404")
INSERT INTO tt VALUES ("505")
INSERT INTO tt VALUES ("606")
SELECT f1 FROM tt INTO CURSOR tmp READWRITE

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

DEFINE CLASS form1 as Form
    ADD OBJECT list1 as listbox WITH top=10,left=10,;
        RowSourceType=3,;
        RowSource="SELECT f1 FROM tmp INTO CURSOR list1_tmp READWRITE"
        
    PROCEDURE list1.DblClick
        USE IN "tmp"
        SELECT f1 FROM list1_tmp WHERE RECNO() != this.listindex INTO CURSOR tmp
        this.Requery
    ENDPROC
ENDDEFINE
2016-02-18 14:51
快速回复:各位大神,过年好,请教listbox的问题
数据加载中...
 
   



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

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