如何从网格中获取所选项目的值并将其放入文本框? 谢谢!
答案 0 :(得分:1)
您可以使用AfterRowColChange()事件来保留绑定到网格的最新“ControlSource”。然后,无论您想要获取值并放在其他任何地方,都要执行该源的EVALUATE()。为了看到这个样本,我创建了一个带有网格和标签的简单表单。网格列计数设置为-1,默认情况下会为用于显示的表/游标中的所有列自动构建列。
当我在行和列之间向上/向下,向左/向右滚动时,我只是获取了我所在列的控制源,然后将标签的标题设置为此类源的评估。 “TRANSFORM()”强制将值转换为兼容的字符串,这样您就不会在逻辑,日期,日期/时间,整数,数字等方面崩溃......但是,“常规”类型字段可能存在问题。
LPARAMETERS nColIndex
lcSrc = This.Columns[nColIndex].ControlSource
Thisform.label1.Caption = TRANSFORM( EVALUATE( lcSrc ))
再次,为了保存,您可能希望将网格的“COMMENT”属性存储为“最后一列有焦点”...(就像我从上面做过lcSrc),然后根据需要分配给我对标签的转让。通过这种方式,您知道哪个是DID有焦点的最新列...
This.Comment = This.Columns [nColIndex] .ControlSource
答案 1 :(得分:0)
如果数据源是表格或光标,则从内存中我认为网格会更改表格中的当前行。所以只需访问该表。
但我正在度假并在我的iPhone上,所以我要靠记忆。
答案 2 :(得分:0)
在网格中,移动到一行会将记录指针移动到基础表的相应行。所以你只需要引用表中的相应项。
ThisForm.Text1.Value = TheRelevantTable.TheRelevantField
玛
答案 3 :(得分:0)
以此为例,看看它是否有效:
THISFORM.TEXT1.VALUE = THISFORM.GRID1.COLUMN1.TEXT1.VALUE