0

私は以下のコードを試しました:

def temp-table tt-dg1
    field dtoday as date column-label "dg "
    .

buffer tt-dg1:BUFFER-FIELD("dtoday"):
column-LABEL = buffer tt-dg1:BUFFER-FIELD("dtoday"):column-LABEL + "77".

display buffer tt-dg1:BUFFER-FIELD("dtoday"):column-LABEL.

create tt-dg1.
dtoday = today.

display tt-dg1 with frame f2.

dtodayフィールドにの列ラベルがあることを期待していますが、dg 77それでもまだdgです。作成しているスプレッドシートの標準の列ラベルに週番号を追加するには、これが必要です。

ありがたいことに受け取った助けはありません:)

4

2 に答える 2

0

一時テーブルを動的に作成することは可能ですか? もしそうなら、そこに動的に設定することができます

DEFINE VARIABLE ttDynTable AS HANDLE NO-UNDO.
DEFINE VARIABLE vInt       AS INTEGER NO-UNDO INIT 77.

CREATE TEMP-TABLE ttDyntable.
ttDynTable:ADD-NEW-FIELD('dtoday', 'DATE', 0, "99/99/9999",?,"","dg " + STRING(vInt)).
ttDynTable:TEMP-TABLE-PREPARE("tt-dg1").

ttTTHandle = ttDyntable:DEFAULT-BUFFER-HANDLE.
ttTTHandle:BUFFER-CREATE.
ttTTHandle::dtoday = TODAY.

DISPLAY ttTTHandle:buffer-field('dtoday'):column-label ttTTHandle::dtoday.

そうでない場合は、代わりにバッファから列ラベルを取得できます

DEFINE TEMP-TABLE tt-dg1 FIELD dtoday AS DATE   COLUMN-LABEL "dg ". 
DEFINE VARIABLE   vTTHandle           AS HANDLE NO-UNDO.
CREATE tt-dg1.
dtoday = TODAY.

vTTHandle = BUFFER tt-dg1:HANDLE.
vTTHandle:BUFFER-FIELD("dtoday"):column-LABEL = vTTHandle:BUFFER-FIELD("dtoday"):column-LABEL + "77".

DISPLAY vTTHandle:BUFFER-FIELD('dtoday'):COLUMN-LABEL.
于 2016-04-06T15:21:58.140 に答える
0

これは欠点のように感じます。一時テーブルでオーバーライドすると機能しないようです。

表示前にフレームでフィールドを定義すると、そこでオーバーライドできます。

form tt-dg1.dtoday with frame f2.
tt-dg1.dtoday:label = "MyLabel".
display tt-dg1.dtoday with frame f2.

あなたが何をしているかによって、それが役立つ場合とそうでない場合があります。

于 2012-12-07T14:28:18.537 に答える