Googleのアプリでも同様の操作を行います。クリックしたときに 'mailto'が呼び出され、to、件名、本文がメールクライアントに入力されるボタンを画面に追加しました。本文はスクリプトの一部として作成されます。基本的にテーブルの内容を配列に読み込み、forEachを使用してエントリをループします。 mailtoやURLを使用していることを覚えておいてください.Helperでは、電子メールの本文にHTML形式のテキストを使用することはできません。だから、もしあなたが何かかわいいものを探しているなら、運が悪いかもしれません。
onNotifyUserPress: function(oEvent) {
var oItem = oEvent.getSource();
var oBinding = oItem.getBindingContext();
// Set some vars for the email package
var sEmpEmail = oBinding.getProperty("Smtp");
var sEmpName = oBinding.getProperty("STEXT_2");
var sEmailSubject = "Your Subject " + sEmpName;
// Create DateFormat Object
var oDateFormat = DateFormat.getDateTimeInstance({pattern: "dd/MM/yyyy"});
// Retrieve Table Data
var oTable = this.getView().byId("yourTable");
var aTableData = oTable.getBinding("items").getContexts();
// Build the email body
var sBody = sEmpName + " - Some Body Text\n\n";
sBody += "Field 1 | " + "Field 2 | " + "Field 3 | " + "Field 4" + "\n";
// Loop through table data and build the output for the rest of the email body
aTableData.forEach(function(oModel) {
var oModelData = oModel.getObject();
var sEndDate = oDateFormat.format(oModelData.Vendd);
var sStatus = this._formatStatus(oModelData.ZQ_STAT);
sBody += (oModelData.Essential === "X" ? "Yes" : "No") + " | " + oModelData.Ttext + " | " + sEndDate + " | " + sStatus + "\n";
}.bind(this));
// Open email client window and prepopulate with info
window.open("mailto:" + sEmpEmail + "&subject=" + sEmailSubject + "&body=" + encodeURIComponent(sBody), "_self");
},
明らかに、テーブルデータを参照するようにコードを更新する必要があります。この特定の例では、いくつかのセクションを持つオブジェクトページがあります。各セクションには、ユーザーに関連付けられているエンティティのリストをロードするテーブルが含まれています。データが既にロードされてモデルに存在するため、データが入力/変更された後で電子メールを送信する必要があるため、これは実行しようとしているのと同じ方法では機能しない可能性があります。
うまくいけば、これは少なくともあなたを始めることができます!
乾杯!