UI からの入力に基づいて、動的に値を設定します。
今、私はその参照に表示される値を取得し、そのための一時テーブルを作成したいと考えています。助けてください
UI からの入力に基づいて、動的に値を設定します。
今、私はその参照に表示される値を取得し、そのための一時テーブルを作成したいと考えています。助けてください
新しい値を追加するには、最初に新しい行を一時テーブルに挿入してから、その行を更新するように手配します。次のコードは醜いですが、説明には役立つかもしれません:
define temp-table tt_simple no-undo
field id as integer
field name as character
index id_idx is unique id
.
define variable r as integer no-undo.
define query q for tt_simple.
define browse b query q display tt_simple.name with 5 down.
form b with frame easy.
form
tt_simple.name
with
frame updEasy
column 30
row 1
.
procedure newRecord:
define input parameter initName as character no-undo.
create tt_simple.
assign
r = r + 1
id = r
name = initName
.
end.
run newRecord( "abc" ).
run newRecord( "xyz" ).
on "enter" of b in frame easy do:
apply "entry" to tt_simple.name in frame updEasy.
return no-apply.
end.
on "insert-mode", "CTRL-I" anywhere do:
run newRecord( "" ).
close query q.
open query q for each tt_simple.
get last q.
apply "entry" to tt_simple.name in frame updEasy.
return no-apply.
end.
on "go" of tt_simple.name in frame updEasy do:
tt_simple.name = self:screen-value.
close query q.
open query q for each tt_simple.
apply "entry" to b in frame easy.
return no-apply.
end.
on "value-changed" of b in frame easy do:
display tt_simple.name with frame updEasy.
end.
open query q for each tt_simple.
enable tt_simple.name with frame updEasy.
enable b with frame easy.
apply "entry" to b in frame easy.
wait-for "close" of this-procedure.