行選択でイベントを発生させるテーブルがあります。ハンドラーで、選択した行のコンテキストを取得し、下位レベルの oData オブジェクトの新しいコンテキストを作成して、それをテキスト ビューにバインドします。
これを行うための美しく簡潔な方法があると確信していますが、現在私は:
バインディング パスを取得し、文字列を追加して下位レベルのオブジェクトへのパスを作成します: var path = oEvent.getParameters().listItem.getBindingContext().sPath + "/ComplianceNote";
これは / を最初の文字としてパスを返しています。私が理解していることから、これはサービスのルートオブジェクトであるか、「絶対」パスであることを意味します。私の現在の回避策は、最初の文字を削除することです:
path = path.substr(1, path.length);
次に、Text ビューをバインドできます。
noteText.bindElement(path);
noteText.bindProperty("text", "Note");
これは問題なく動作しますが、コードの匂いが文字列をハッキングしているように思えます。私の質問は次のとおりです。
- パスが「相対」ではなく「絶対」として返される理由
- これを達成する正しい方法は何ですか。私は setBindContext や bindText などを見てきました。
乾杯、グレゴール