1

アペックス 19.1

インタラクティブ グリッドのボタンの動的アクションは、クリックすると、選択した行のステータス列を 1 に設定します。これは、変更された行 (隅にある小さな青い三角形) として表示されます。保存時にエラーはありませんが、NULL がデータベースに書き込まれます (元の値は 0)。グリッドは、ROWID をキーとして結合されたビューに基づいています。

これに対する解決策は次のとおりです: 選択したレコードを変更するボタン

OPと同様に、他のソリューションを機能させることができず、問題を解決するためのjavascriptに精通していません。

これは、列の値を変更するコードです。:

var g = apex.region('myIG').widget().interactiveGrid('getViews','grid');  
var r = g.getSelectedRecords();  
for(i = 0; i < r.length; i++) {   
g.model.setValue(r[i], 'myColumn', 1);
}

1 の新しい値が NULL ではなく書き込まれることを期待します。元の値が 0 であるため、新しい / NULL 値がデータベースに送信されています。

ティア。

4

1 に答える 1

0

に文字列値を渡すと、コードが機能しますsetValue。これは、APEX ではすべての項目 (グリッド セルの値を含む) が内部的に文字列であるためです。

g.model.setValue(r[i], 'myColumn', '1');
于 2019-09-04T07:09:19.447 に答える