2012-02-17 9 views
0

私はダイナミックなブラウザを持っています。これは、UIを介して与えられた入力に基づいて動的に値を設定します。ブラウズとテンポラリテーブルの値を照合

ここでは、その参照に表示されている値を取得して、それを一時テーブルにすることはできません。 助けてください

+0

ブラウズに表示される値は、TTテーブルまたはデータベーステーブルのいずれかになければならないため、何を求めているのか分かりません。 –

答えて

2

新しい値を追加するには、最初に新しい行を一時テーブルに挿入し、その行を更新するように手配します。次のコードは醜いですが、説明するのに役立つかもしれません:

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. 
関連する問題