1

選択した項目の値をグリッドから取得してテキスト ボックスに入れるにはどうすればよいですか? ありがとう!

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 と同じように)、割り当てから必要に応じて割り当てますラベル。このようにして、DID がフォーカスされた時点でどの列が最新であったかを知ることができます...

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

于 2011-04-24T22:51:42.523 に答える
0

データソースがテーブルまたはカーソルの場合、メモリからグリッドがテーブルの現在の行を変更すると思います。したがって、テーブルにアクセスするだけです。

しかし、私は休暇中とiPhoneを使用しているので、思い出に残ることになります。

于 2011-04-22T23:33:01.650 に答える
0

グリッドでは、行に移動すると、レコード ポインターが基になるテーブルの対応する行に移動します。したがって、テーブルの適切な項目を参照するだけで済みます。

ThisForm.Text1.Value = TheRelevantTable.TheRelevantField

タマル

于 2011-04-25T21:04:47.703 に答える