| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1614 人关注过本帖
标题:Grid绑定带索引的表时,如何设置一列显示行号
只看楼主 加入收藏
shizi0
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:142
专家分:411
注 册:2012-10-2
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:10 
Grid绑定带索引的表时,如何设置一列显示行号
一直以来,当grid需要行号时,我都避免用索引,Column1.ControlSource="recon()"即可.
但难免有需要用索引的,尝试Column1.ControlSource="Grid.ActiveRow",当表格滚动或失去焦点时就会每行显示0。
请教各位大侠,有什么好招处理这种情况?
搜索更多相关主题的帖子: Grid 显示 一列 绑定 索引 
2024-12-07 15:56
星光悠蓝
Rank: 9Rank: 9Rank: 9
来 自:山水甲天下
等 级:贵宾
威 望:52
帖 子:527
专家分:1281
注 册:2010-1-11
收藏
得分:3 
我喜欢用视图或查询的游标
2024-12-07 16:29
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:385
专家分:1202
注 册:2015-10-2
收藏
得分:3 
不取GRID的,取数据源表的是否可以?但是最好别取recno(),用添加1个专用列替代recno()值
2024-12-07 16:47
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1094
专家分:2693
注 册:2015-12-30
收藏
得分:3 
行号可用单独的一列显示
看楼主的意思,行号是表格的物理行号,也就是记录号
如果要求的是逻辑行号的话,那就需要人为管理了



[此贴子已经被作者于2024-12-7 17:30编辑过]

2024-12-07 17:26
shizi0
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:142
专家分:411
注 册:2012-10-2
收藏
得分:0 
一个思路是索引的顺序号,但如何快速求得索引顺序号?
另一个思路是每行行号=Grid.ActiveRow,但表格失去焦点或滚动时,ActiveRow不起作用了。我尝试过Dynamic...,不知道怎么写。
2024-12-07 18:09
shizi0
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:142
专家分:411
注 册:2012-10-2
收藏
得分:0 
测试如下方法基本可行,但滚屏显示上还不太理想
Grid.Init:
Column1.ControlSource=[Thisform.]+Strextract(Juststem(Program()),[.])+[.ActiveRow]
Grid.Scrolled:
LPARAMETERS nDirection
This.SetFocus
Dodefault(nDirection)



[此贴子已经被作者于2024-12-8 09:56编辑过]

2024-12-08 09:27
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:3 
表中增加一个字段用于保存索引的物理序号,当表索引后,添加这个物理序号

坚守VFP最后的阵地
2024-12-08 10:50
shizi0
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:142
专家分:411
注 册:2012-10-2
收藏
得分:0 
以下是引用sdta在2024-12-8 10:50:38的发言:

表中增加一个字段用于保存索引的物理序号,当表索引后,添加这个物理序号

索引的物理序号怎么取得?不用遍历吧,而且建立索引后有可能增删记录、修改索引字段的值

[此贴子已经被作者于2024-12-8 15:40编辑过]

2024-12-08 15:09
星光悠蓝
Rank: 9Rank: 9Rank: 9
来 自:山水甲天下
等 级:贵宾
威 望:52
帖 子:527
专家分:1281
注 册:2010-1-11
收藏
得分:0 
用SELECT语句生成一个临时表了操作,是不是更容易点,为什么要直接操作源表呢
2024-12-08 20:05
shizi0
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:142
专家分:411
注 册:2012-10-2
收藏
得分:0 
以下是引用星光悠蓝在2024-12-8 20:05:27的发言:

用SELECT语句生成一个临时表了操作,是不是更容易点,为什么要直接操作源表呢


Grid绑定的是临时表,从不对源表直接操作。
好像前面没说过是操作源表吧,可能我需求描述不清楚?跟什么表无关,而实际上基本肯定是Cursor,但不是select...order by ...的顺序能解决问题的,要依靠vfp对临时表的索引排序来填充Grid。这是这个问题的前提。
需求例子1:给自己写的一个通用表格类加点功能,可以指定要不要行号,索引是肯定有的,点击表头会排序,可以增删行数据,......
需求例子2:Grid.ControlSource=Cursor1,而Cursor1部分数据来源于历史记录(可以order by),部分来源于操作过程中从别处动态刷新计算得来,二者需要一起排序,提供给操作者其他操作......
现在的问题是:要显示Grid每行的行号,像excel一样,Corsor是有索引的,行号≠Recno();好像也没办法快速获取某记录的当前索引顺序号,行号=索引的顺序号。

[此贴子已经被作者于2024-12-8 22:27编辑过]

2024-12-08 22:15
快速回复:Grid绑定带索引的表时,如何设置一列显示行号
数据加载中...
 
   



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

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