NorthwindデータベースへのODATA呼び出しを作成しました。バインディングを使用していて、把握できない質問がいくつかあります。モデルからODATA値を取得してメッセージボックスに表示する方法
この特定の例では、[ログイン]をクリックするとテキストボックスに値が表示され、同じメッセージを表示するメッセージボックスも開きますが、クリックすると何も表示されません。 2回目の後、それは動作します。 なぜこれが起こっていますか?
{CompanyName}を使用する代わりに、テキストボックスのバインドを動的に変更できるかどうかです。私はContactNameを取得したいと思いますが、SETVALUEを使用すると{ContactName}のテキストが印刷されます。再度、感謝します!
https://jsbin.com/nofunecane/1/edit?html,output
sap.m.MessageBox.alert(this.getView().getModel().getProperty("/Customers('ALFKI')/CompanyName"));
これが成功の方法で新しいコードです: https://jsbin.com/gagajusoja/edit?html,output
ありがとうございました!私はビンを変更したばかりのコンセプトを理解しましたが、成功メソッドが呼び出されないかのように、ポップアップは表示されません。私は何かを逃したのですか? \t \t \t \t \t \t this.getView()getModel() "/顧客( 'ANATR')"(読み取り、{ \t \t \t \t \t \t \tイベント:{ \t \t \t \t \t \t \t \t成功:関数(oResponse){ \t \t \t \t \t \t \t \t \t sap.m.MessageBox.alert(this.getView()。getModel()。getProperty( "/ Customers( 'ANATR')/ CompanyName"))); \t \t \t \t \t \t \t \t} \t \t \t \t \t \t \t} \t \t \t \t \t \t})。 https://jsbin.com/gagajusoja/edit?html,output –
私の2番目の質問では、{CompanyName}の{ContactName}のtxtUidフィールド値を置き換えたいが、そのパラメータをtxtUidで更新することができなかったコード付き。ありがとう! –
私は間違ったバインディングAPIを使用していたので私の答えを編集しました。今それは動作するはずです。 "dataReceived"コールバックがジョブを処理します。あなたのjsBinでは、コールバックコンテキストで "this"を失ってしまったので、 "var that = this"テクニックを使用するか、関数スコープの先頭に必要な変数を保存します。これは "oModel"の場合と同じです。 –