编程小学生118 2024-05-07 21:15 采纳率: 33.3%
浏览 20

vfp grid问题,如何获取不同行的值

img


如上图所示,想点击不同行,获取第二列编号(bh)的不同值,在grid的afterrowcolchange事件中应该如何实现?谢谢

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-05-07 21:16
    关注

    引自免费微信小程序:皆我百晓生

    在Visual FoxPro (VFP) 中,要实现这个功能,你需要在AfterRowColChange事件中编写代码来获取当前选中的行的第二列(bh)的值。下面是一个详细的步骤和示例代码。

    首先,确保你已经在表单上添加了一个名为GridControlName的Grid控件,并且已经连接到包含数据的表。

    1. 打开表单设计器,找到GridControlName控件。
    2. 右键点击该控件,选择"事件",然后双击AfterRowColChange事件。

    接下来,为AfterRowColChange事件编写代码:

    PROCEDURE AfterRowColChange
    LOCAL lo_grid AS GridControlName // 假设你的Grid控件名称是GridControlName
    LOCAL ln_row AS INTEGER, lv_bh AS CHAR(10)
    
    ln_row = lo_grid.Row // 获取当前行号
    lv_bh = lo_grid.DataField("bh")[ln_row] // 获取当前行bh列的值
    
    // 在这里可以对lv_bh进行处理,例如显示在消息框或文本框中
    MESSAGEBOX("当前行的bh编号: " + lv_bh)
    ENDPROC
    

    这段代码首先定义了局部变量lo_grid来引用Grid控件,然后通过lo_grid.Row获取当前选中的行号。接着,使用lo_grid.DataField("bh")[ln_row]来获取指定行号对应的bh列的值。将获取到的bh值存储在lv_bh变量中,然后在消息框中显示出来。

    如果你想要将这些值保存到数组或其他地方,只需要将获取的lv_bh值添加到相应的数据结构中即可。

    注意:在实际应用中,你需要将GridControlName替换为你的Grid控件的实际名称。同时,确保你的数据表中bh字段的数据类型与lv_bh的定义相匹配。在这个例子中,我们假设bh是字符型,长度为10,你可以根据实际情况调整。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月7日