この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

リモートオブジェクトを使用したレコードの削除

リモートオブジェクトモデルインスタンスで del() をコールすることでレコードを削除します。
del() は 2 つの引数 (両方とも省略可能) を受け入れ、指定された引数に応じて 1 つまたは複数のレコードを削除できます。

delete() ではなく del() を使用するのには理由があります。delete は、JavaScript の予約語です。

メモ

1RemoteObjectModel.del([record_ids], callback_function)
record_ids は、文字列の配列で、文字列は削除するレコードの Id です。このパラメータが省略されると、リモートオブジェクトインスタンスに設定された Id が使用されます。del() をそのままコールするのが、最も単純なレコード削除方法です。
1ctDetails = {FirstName: "Tobe", LastName: "Ornottobe"};
2ct = new RemoteObjectModel.Contact(ctDetails);
3ct.create();
4
5// After some though, and the async operation completes...
6// It's not to be; delete the contact
7ct.del();
多くの場合、ボタンのクリ��クに応じたレコードの削除などが必要になります。レコードの削除は、ページからレコードの Id を取得して、Iddel() に渡すだけの簡単な処理です。次に例を示します。
1var id = $jQuery('#contactId').val();
2var ct = new RemoteObjectModel.Contact();
3ct.del(id);
堅牢なコードには、エラーを処理するコールバックが含まれます。次のコードは、前のサンプルと同じ処理を実行しますが、イベントハンドラとコールバック関数を使用するように変更されています。
1// Handle the delete button click
2function deleteContact(e){
3    e.preventDefault();
4    var ct = new RemoteObjectModel.Contact();
5    ct.del($jQuery('#contactId').val(), updateCallback);
6}
7
8// Callback to handle DML Remote Objects calls
9function updateCallback(err, ids){
10    if (err) { 
11        displayError(err); 
12    } else {
13        // Reload the contacts with current list
14        getAllContacts();
15        $jQuery.mobile.changePage('#listpage', {changeHash: true});
16    }
17}
リストのチェック項目など、1 つの要求で複数のレコードを削除するには、Id の配列を del() に渡します。
1var ct = new RemoteObjectModel.Contact();
2ct.del(['003xxxxxxxxxxxxxxx', '003xxxxxxxxxxxxxxx'], function(err, ids) {
3    if (err) { 
4        displayError(err); 
5    } else {
6        // Reload the contacts with current list
7        getAllContacts();
8        $jQuery('#status').html(ids.length + ' record(s) deleted.');
9        $jQuery.mobile.changePage('#listpage', {changeHash: true});
10    }
11});

この方法で複数のレコードを削除すると、すべてのレコードが同じサーバ側トランザクションで削除されます。

メモ