Получение значений из обзора и создания временной таблицы - PullRequest
0 голосов
/ 17 февраля 2012

У меня есть динамический браузер. Он будет динамически заполнять значения на основе некоторого ввода, полученного через пользовательский интерфейс.

Теперь я хочу получить значения, отображаемые в этом браузере, и создать для этого временную таблицу.пожалуйста помогите

1 Ответ

2 голосов
/ 19 февраля 2012

Чтобы добавить новые значения, вы сначала вставляете новую строку в временную таблицу, а затем организуете обновление этой строки.Следующий код некрасив, но может служить иллюстрацией:

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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...