1

How can I get the value of a selected item from a grid and put this into a textbox? Thanks!

4

4 回答 4

1

您可以使用 AfterRowColChange() 事件将最新的“ControlSource”保留为绑定到网格。然后,无论您想获取该值并将其放在其他地方,请对该源执行 EVALUATE() 。为了查看这个示例,我创建了一个带有网格和标签的简单表单。网格列数设置为 -1,默认情况下会为用于显示的表/游标中的所有列自动构建列。

当我在行和列之间向上/向下、向左/向右滚动时,我只是获得了我所在列的控制源,然后将标签的标题设置为此类源的 EVALUATION。“TRANSFORM()”强制将该值转换为兼容的字符串,这样您就不会在逻辑、日期、日期/时间、int、数字等方面崩溃……不过,您可能在“常规”类型字段上遇到问题。

LPARAMETERS nColIndex

lcSrc = This.Columns[nColIndex].ControlSource
Thisform.label1.Caption = TRANSFORM( EVALUATE( lcSrc ))

同样,为了保留,您可能希望将网格的“COMMENT”属性存储为“具有焦点的最后一列”......(就像我从上面做的 lcSrc 一样),然后根据我的任务分配给任何需要的内容标签。这样,您就知道哪个是最新的专栏,当时它确实有焦点……

This.Comment = This.Columns[nColIndex].ControlSource

于 2011-04-24T22:51:42.523 回答
0

试试这个作为例子,看看它是否有效:

THISFORM.TEXT1.VALUE = THISFORM.GRID1.COLUMN1.TEXT1.VALUE
于 2013-06-06T12:51:18.627 回答
0

在网格中,移动到一行会将记录指针移动到基础表的相应行。所以你只需要引用表格的适当项目。

ThisForm.Text1.Value = TheRelevantTable.TheRelevantField

添马舰

于 2011-04-25T21:04:47.703 回答
0

如果数据源是表或游标,则从内存中我认为网格会更改表上的当前行。所以只需访问表格。

但我在度假,我在用 iPhone,所以我要靠记忆去。

于 2011-04-22T23:33:01.650 回答