0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[OutSystems]画面のInput ParameterをURL指定で渡す

Posted at

のコメント欄の質問から。

画面をURL指定で開くときに、Input Parameterを指定する方法。

画面サンプル

以下のような画面をURLで開くとします。
image.png

Input Parameterとして、Text型のTextVarと、DateTime型のDateTimeVarを持つ。
また、User Entityを検索するAggregate GetUsersByCreationDateを持っている。

Aggregateのフィルタ(Input Parameterを使ってUser Entityを検索する)
image.png

このAggregateの結果を、画面に配置したWidgetに紐付けることで、検索したUser Entityのデータを表示する画面です。

URLでサンプル画面とそのInput Parameterを指定する

OutSystemsの画面アクセスは、要するにHTTP GETの通信。
そのため、Input Parameterは、URLのクエリストリングに指定すればよい。
(クエリストリングとは何か、という点についてはWeb上に解説があるのでGoogleで検索してみてください)

すなわち

/モジュール名/画面名?InputParameter1=値&InputParameter2=値&...

のような形式になります。
モジュール名等は実際のアクセス先に応じて変更する。
例えば、アクセス元と同じモジュールのPDFTestTo画面(サンプルの画面)であれば、以下のように指定する。

GetOwnerURLPath() + "PDFTestTo?TextVar=" + TextVar + "&DateTimeVar=" + DateTimeToText(DateTimeVar)

 GetOwnerURLPath()はビルトイン関数の1つで、所属するモジュールの相対パスを返す。
 「?」はクエリストリングの開始を示す区切り文字で1回だけ登場。
 「&」はクエリストリング内で、各パラメータ間の区切り文字。パラメータ数-1回だけ登場。
 「=」はクエリストリング内で、各パラメータ名とその値の区切り文字。パラメータ数回だけ登場
 TextVarはText型なので値をそのまま渡せばよいが、DateTimeVarは元がDateTimeなので文字列であるクエリストリングに渡すためにText型に変換している点に注意。

上記の式は実行時に以下のようになる

/AssociateReactive/PDFTestTo?TextVar=Te&DateTimeVar=2021-06-29 23:51:00
0
0
27

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?