| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1091 人关注过本帖
标题:如何做到在GRID控件,自动显示行号
只看楼主 加入收藏
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:0 
在 grid 查询出来的表上,用一句 replace all 序号 with recno(), 可以不需要 scan .. endscan.
2013-12-18 20:19
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
以下是引用qingfameng在2013-12-18 20:19:11的发言:

在 grid 查询出来的表上,用一句 replace all 序号 with recno(), 可以不需要 scan .. endscan.
不行的,recno()是绝对位置。

相互学习,互相交流,共同提高。
2013-12-19 09:08
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:0 
是在查询出来的表上。
2013-12-19 22:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
程序代码:
CLEAR ALL
SET PROCEDURE TO "D:\Projects\MyTools\MyTools"
CLEAR
Main()
CLEAR ALL
RETURN 

PROCEDURE Main()
    LOCAL loForm
    loForm = CREATEOBJECT("_Form")
    WITH loForm
        .Caption = "Grid test"
        .WindowState = 2
        .Show
    ENDWITH
    READ EVENTS
ENDPROC 

DEFINE CLASS _DataEnvironment AS DataEnvironment 

    AutoOpenTables = .T.
    AutoCloseTables = .T.
   
    PROCEDURE OpenTables
        USE "D:\Projects\test\vfp\dz\data\d.dbf" ALIAS table1 IN 0
    ENDPROC
   
    PROCEDURE CloseTables
        USE IN table1
    ENDPROC
   
ENDDEFINE 

DEFINE CLASS _Form AS myForm

    DEClassLibrary = "test7.prg"
    DEClass = "_DataEnvironment"

    ADD OBJECT Grid1 AS Grid WITH HighlightStyle = 2
   
    PROCEDURE Arrange
        WITH This.Grid1
            .Top = 5
            .Left = 5
            .Height = ThisForm.Height - .Top - 5
            .Width = ThisForm.Width - .Left - 5
        ENDWITH
    ENDPROC
   
    PROCEDURE Grid1.Init
        WITH This
            .AddColumn(1)
            WITH .Columns(.ColumnCount)
                WITH .Header1
                    .Caption = "No."
                    .Alignment = 2
                ENDWITH
                .ControlSource = "ThisForm." + This.Name + ".ActiveRow"
                .Alignment = 2
                .Enabled = .F.
                .AutoFit()
            ENDWITH
            .SetAll("FontBold", .T., "Header")
        ENDWITH
    ENDPROC
   
ENDDEFINE

把代碼中的表名修改為你需要的表即可。這是從控件著手解決的,不變動數據,是正路。這代碼照抄是運行不出來的,因為沒給全源代碼(缺了MyTools.PRG),只要看懂了,自然知道是怎麼回事——關鍵就是Grid控件的Init事件設置。

[ 本帖最后由 TonyDeng 于 2013-12-26 21:23 编辑 ]

授人以渔,不授人以鱼。
2013-12-26 21:11
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 14楼 TonyDeng
感谢你的执着,向你学习这种学习的精神,找时间来着仔细学习一下.谢谢.
2013-12-27 05:28
快速回复:如何做到在GRID控件,自动显示行号
数据加载中...
 
   



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

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