标题:请高手指点!!
只看楼主
xtxzgl
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2012-8-22
结帖率:85.71%
已结贴  问题点数:10 回复次数:12 
请高手指点!!
在网页中可以将数据库中的某一字段分页列一表格,通过链接点击打开该记录详细情况,就论坛中点击链接打开记录。
我从网上下载一个现成的单机版软件是用的是access数据库,能达到网页那种效果。
请问VFP能达到这种效果吗,在表单中用表格列表中出全部记录中某一字段,点击某一记录,在一同表单中可打开该记录,用文本框显示更多的记录信息。就像网页两个框架一个,左边无表,右边就显详细,点哪个显示哪个。
搜索更多相关主题的帖子: 单机 文本框 记录 
2012-10-05 10:52
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
传了图再说,最好把相关测试数据也传点上来。

授人以渔,不授人以鱼。
2012-10-05 11:45
xtxzgl
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2012-8-22
得分:0 
回复 2楼 TonyDeng
rygl.rar (148.7 KB)
不知什么原因,我传不上图,把相关数据压缩了下,截图一并上传,不知是否成功。

活到老学到老
2012-10-05 12:52
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 

授人以渔,不授人以鱼。
2012-10-05 15:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 

授人以渔,不授人以鱼。
2012-10-05 15:59
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
程序代码:
CLEAR ALL
Form1 = NEWOBJECT("CForm")
Form1.Show
READ EVENTS
RETURN 

DEFINE CLASS CForm AS Form
    Caption = "×ÛºÏÐÅÏ¢Çé¿ö"
    MinWidth = 800
    WindowState = 2
   
    ADD OBJECT Grid1 AS Grid
    ADD OBJECT Container1 AS Container
   
    PROCEDURE Grid1.Init
        WITH This
            .HighlightStyle = 2
            .RecordSourceType = 1
            .RecordSource = "rygl"
        ENDWITH
    ENDPROC
   
    PROCEDURE Grid1.AfterRowColChange(tnColumnIndex)
        SET ORDER TO 񅧏 IN grqk
        SEEK rygl.񅧏 IN grqk
        ThisForm.Container1.Refresh
    ENDPROC
   
    PROCEDURE Container1.Init
        LOCAL lnWidth, lnHeight, lnIndex, lcCaption, lcDataSource
       
        WITH This
            .SpecialEffect = 1
            .AddProperty("GetArray[" + TRANSFORM(FCOUNT("grqk")) + "]")
            FOR lnIndex = 1 TO FCOUNT("grqk")
                lcCaption = FIELD(lnIndex, "grqk") + ":"
                lcDataSource = "grqk." + FIELD(lnIndex, "grqk")
                .AddObject(".GetArray[" + TRANSFORM(lnIndex) + "]", "CGet", lcCaption, lcDataSource)
                WITH .GetArray[lnIndex]
                    .Top = 5 + (lnIndex - 1) * (.Height + 5)
                    .Left = 5
                ENDWITH
            NEXT
        ENDWITH
       
    ENDPROC
   
    PROCEDURE Arrange
        WITH ThisForm.Grid1
            .Top = 5
            .Left = 5
            .Width = 500
            .Height = ThisForm.Height - .Top - 5
        ENDWITH
        WITH ThisForm.Container1
            .Top = 5
            .Left = ThisForm.Grid1.Left + ThisForm.Grid1.Width + 5
            .Width = ThisForm.Width - .Left - 5
            .Height = ThisForm.Height - .Top - 5
            .SetAll("MaxWidth", .Width - 10, "CGet")
            .Refresh
        ENDWITH
    ENDPROC
   
    PROCEDURE Load
        OPEN DATABASE rygl
        USE rygl IN 0
        USE grqk IN 0
    ENDPROC
   
    PROCEDURE Unload
        SET DATABASE TO rygl
        CLOSE DATABASES
    ENDPROC
   
    PROCEDURE Activate
        ThisForm.Arrange
    ENDPROC
   
    PROCEDURE Resize
        ThisForm.Arrange
    ENDPROC
   
    PROCEDURE Destroy
        CLEAR EVENTS
    ENDPROC
   
ENDDEFINE 

DEFINE CLASS CGet AS Container
    BorderWidth = 0
    Visible = .T.
   
    MaxWidth = 300
   
    HIDDEN _Caption, _DataSource
    _Caption = ""
    _DataSource = ""
   
    ADD OBJECT PROTECTED Label1 AS Label WITH Width = 100, Height = 25, Alignment = 1, FontBold = .T.
    ADD OBJECT PROTECTED TextBox1 AS TextBox WITH Height = 25, Enabled = .F.
   
    PROCEDURE Init(tcCaption, tcDataSource)
        WITH This
            ._Caption = tcCaption
            ._DataSource = tcDataSource
            WITH .Label1
                .Caption = .Parent._Caption
                .Top = 0
                .Left = 0
            ENDWITH
            WITH .TextBox1
                .Top = 0
                .Left = This.Label1.Left + This.Label1.Width + 5
            ENDWITH
            .Height = MAX(.Label1.Height, .TextBox1.Height)
        ENDWITH
    ENDPROC
   
    PROCEDURE Refresh
        WITH This.TextBox1
            .Value = EVALUATE(This._DataSource)
            .Width = LENC(.Value) * 20
        ENDWITH
        WITH This
            .Width = MIN(.TextBox1.Left + .TextBox1.Width, .MaxWidth)
        ENDWITH
    ENDPROC
   
ENDDEFINE

搞什么鬼?我的中文不见啦!

[ 本帖最后由 TonyDeng 于 2012-10-5 16:22 编辑 ]

授人以渔,不授人以鱼。
2012-10-05 16:20
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
得分:0 
https://bbs.bccn.net/thread-372891-1-1.html
这个帖子是否对你有帮助
2012-10-05 16:22
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
得分:0 
回复 6楼 TonyDeng
放假期间,做坏事了吧
2012-10-05 18:34
xtxzgl
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2012-8-22
得分:0 
回复 6楼 TonyDeng
正是我想要的!但是我的水平太低,有点看不懂。
能否将你编写的程序按照我压缩的那种方式,全部压缩上传,让我下载使用,好吗
谢谢!

[ 本帖最后由 xtxzgl 于 2012-10-5 22:02 编辑 ]

活到老学到老
2012-10-05 22:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:10 
rygl.zip (167.37 KB)


注意个别索引文件的变动,你用拼音编码,我改了用机器内码。

授人以渔,不授人以鱼。
2012-10-05 22:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-382552-1-1.html




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

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