[Notes/Domino] ビュー名にアンダースコアが含まれる場合の @ViewTitle の問題点
ビュー名にアンダースコアを含めると、アンダースコアの次の文字(半角英数の場合)がショートカットになる機能があります。たとえば、「xy_z」という名前のビューを作った場合、「z」がショートカットキーになり、ビュー名は「xyz」と表示されます。
それはそれでいいのですが、困ったことに @ViewTitle が返す値も、アンダースコアが削除されてしまうことがあります。
再現手順
1. 「xy_z」という名前のビューを作成します。
2. ビューにアクションボタンを作成し、以下の@関数式を記述します。
@Prompt([Ok]; ""; @Implode(@ViewTitle; "|"))
3. ビューを表示してアクションボタンを実行すると、「xyz」と表示されます。
上記だけならまだ理解できなくもないですが、なぜかショートカットとは関係ないはずの別名にも影響が及ぶようです(x_x)
「zzz」というビュー名で、別名を「a_b_c」にした場合、ショートカットキーは「z」なのですが、上記再現手順を行うと、「zzz|ab_c」と表示されてしまします。
どうもビュー名か別名かに関係なく、最初のアンダースコアを消去してしまうみたいです。
さらにおかしなことに、Web から以下のような処理を行った場合、今度はちゃんとした値が返ってしまいます(x_x)
1. ビュー名 = 「zzz」、別名 = 「a_b_c」 のビューを作成します。
2. ビューにアクションボタンを作成し、以下の@関数式を記述します。
@URLOpen("/" + @WebDbName + "/FrmTest?OpenForm&a=" + @Implode(@ViewTitle; "|"))
3. FrmTest フォームを作成し、適当なフィールドを作成して、その初期値を「@UrlQueryString("a")」にします。
4. Web からビューのアクションボタンをクリックすると、フォームのフィールドには「zzz|a_b_c」と表示されます。
うーん、アンダースコアが消えるケースと残るケースがある、というのは困ったもんです。どっちか一方ならまだマシなのに……。
ビュー名にはアンダースコアを使わないほうが無難かもしれませんね……。
コメント
コメントはありません
※コメントは承認制となっております。管理者が承認するまで表示されません。申し訳ありませんが、投稿が表示されるまでしばらくお待ちください。