| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1619 人关注过本帖
标题:Grid绑定带索引的表时,如何设置一列显示行号
取消只看楼主 加入收藏
shizi0
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:142
专家分:411
注 册:2012-10-2
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:4 
Grid绑定带索引的表时,如何设置一列显示行号
一直以来,当grid需要行号时,我都避免用索引,Column1.ControlSource="recon()"即可.
但难免有需要用索引的,尝试Column1.ControlSource="Grid.ActiveRow",当表格滚动或失去焦点时就会每行显示0。
请教各位大侠,有什么好招处理这种情况?
搜索更多相关主题的帖子: Grid 显示 一列 绑定 索引 
2024-12-07 15:56
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
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
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.017114 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved