| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2094 人关注过本帖
标题:表头排序扩展到所有字段
只看楼主 加入收藏
lljchi
Rank: 2
等 级:论坛游民
帖 子:172
专家分:95
注 册:2016-7-21
结帖率:96.15%
收藏
已结贴  问题点数:20 回复次数:13 
表头排序扩展到所有字段
表格的数据刷新后会导致表格重建,直接在表中建立的点击事件只有第一次有效,之后就会丢失
使用疯狂的VFPER之点击表头排序https://bbs.bccn.net/thread-245879-1-1.html 不知道什么原因导致没有效果,
用下面的方法可用,但是添加到很多表单上就太麻烦了
表单添加方法myclick():
INDEX on fieldname TO name
set order to name
thisform.grid1.refresh
刷新按钮:
=Bindevent(thisform.grid1.column1.header1,"Click",Thisform,"myclick")

请问一下 ,有没有方法扩展到所有字段,当然了能扩展到所有表单就更好了,谢谢!

2016-12-30 10:48
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9824
专家分:27129
注 册:2012-2-5
收藏
得分:20 
当数据源被更新后,所有索引均已失效,必须重新建立索引才能达到你的目的。

坚守VFP最后的阵地
2016-12-30 11:35
lljchi
Rank: 2
等 级:论坛游民
帖 子:172
专家分:95
注 册:2016-7-21
收藏
得分:0 
回复 2楼 sdta
谢谢提醒,又仔细查看了demo表单,不是索引的问题,而是忘了在表单的init事件中添加bind(),同时每次刷新前把数据源设为空,现在排序问题和扩展都解决了。
还有个小问题:顺序倒序的小三角图标不知道什么原因无法显示,改了绝对路径,把图片放到项目目录,在项目的其他文件中添加,放到vfp安装文件的根目录,类所在文件夹,到处都有图片,它就是显示不出来呢!
FILE(cFileName [, nFlags])
参数
cFileName
指定要查找的文件名。cFileName 必须包含文件扩展名。可以在文件名中包含路径以便搜索非当前目录或驱动器下的文件。如果文件名中没包含路径,Visual FoxPro 会在默认目录下搜索该文件。如果在默认目录下没找到该文件,Visual FoxPro 会沿着 SET PATH 确定的 Visual FoxPro 路径搜索。

我放的位置都应该被搜索过吧!可为什么就是不显示呢?难道也和表格被刷新有关系?

[此贴子已经被作者于2016-12-30 13:27编辑过]

2016-12-30 12:44
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9824
专家分:27129
注 册:2012-2-5
收藏
得分:0 
是的

坚守VFP最后的阵地
2016-12-30 12:48
lljchi
Rank: 2
等 级:论坛游民
帖 子:172
专家分:95
注 册:2016-7-21
收藏
得分:0 
回复 4楼 sdta
偶然发现编译后运行竟然是有图标的,搞不懂为什么测试运行时没效果
2016-12-30 16:20
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9824
专家分:27129
注 册:2012-2-5
收藏
得分:0 
与路径设置是否有关系啊

坚守VFP最后的阵地
2016-12-30 18:10
lljchi
Rank: 2
等 级:论坛游民
帖 子:172
专家分:95
注 册:2016-7-21
收藏
得分:0 
回复 6楼 sdta
应该没有关系吧,我又把设置都恢复回原来的了
file("down.bmp")
这应该就是默认路径吧,但是到处都有图片不知道是哪一处生效的,总之最后编译进程序中了

[此贴子已经被作者于2016-12-30 21:26编辑过]

2016-12-30 21:03
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9824
专家分:27129
注 册:2012-2-5
收藏
得分:0 
图片保存在项目管理器中

坚守VFP最后的阵地
2016-12-30 21:52
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10570
专家分:43038
注 册:2014-5-20
收藏
得分:0 
找到一个类似的用GRID封装的文件名列表类,其中点击栏目排序的模块可以参考:
    PROCEDURE 点击表栏目排序
        LOCAL a表栏目[1], sz数据源, sz索引语句
        IF (AEVENTS(a表栏目, 0) > 0)
            IF (VARTYPE(a表栏目[1]) == "O") AND (PROPER(a表栏目[1].BaseClass) == "Header")
                sz索引语句 = "INDEX ON " + JUSTEXT(a表栏目[1].Parent.ControlSource) + " TAG 栏目 " + IIF(this.升序排列, "ASCENDING", "DESCENDING")
                sz数据源 = this.RecordSource
                this.RecordSource = ""
                SELECT 文件表
                ZAP
                APPEND FROM (DBF(sz数据源))
                SELECT (sz数据源)
                ZAP
                SELECT 文件表
                EXECSCRIPT(sz索引语句)
                SCAN
                    SCATTER MEMVAR
                    SELECT (sz数据源)
                    APPEND BLANK
                    GATHER MEMVAR
                ENDSCAN
                SELECT 文件表
                DELETE TAG ALL
                ZAP
                SELECT (sz数据源)
                GO TOP
                this.RecordSource = sz数据源
                this.SetFocus
                this.升序排列 = !this.升序排列
            ENDIF
        ENDIF
    ENDPROC
2016-12-31 07:35
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1598
专家分:3124
注 册:2012-2-29
收藏
得分:0 
学习之中
2016-12-31 08:15
快速回复:表头排序扩展到所有字段
数据加载中...
 
   



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

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