LightSwitch でアイテム削除する方法

先日の 第4回 業開中心会議 で、アンケートを通して参加者の方から

LightSwitch はいつになったら削除に対応するのか?

という質問がありました。

懇親会の場で「もともと対応済みです」という回答をしましたが、ここでコードを紹介します。

 

LightSwitch は CRUD なアプリケーションであり、OData に対応しています。
画面のデフォルトテンプレートに含まれるボタンは 保存とキャンセルのみ なので、削除できないように見えるかもしれません。が、ボタンを置いて DeleteEntity 関数 を呼び出すことでちゃんと削除できます。

こんな感じ。

  1. myapp.ViewTest.DeleteItem_execute = function (screen) {
  2.     // Write code here.
  3.     screen.Test.deleteEntity();
  4.     return myapp.commitChanges().then(null, function fail(e) {
  5.         myapp.cancelChanges();
  6.         throw e;
  7.     });
  8. };

エラーハンドリングを追加していますが、削除自体は DeleteEntity 関数で実行されます。これだけ、簡単ですね。
こうしか書けません、定石 なのでこのままで覚えてしまってもかまいません。
(削除前のアラートがあれば、なお良いですかね)

 

imageimageimage

 


念のため、こんなテーブル、こんな画面のアプリです。(これまた超簡単)
アプリ全体で書いたコードは上記の削除処理のみです。

 

imageimage

imageimage

image

 

ところで当日会場で 聞いたところ、LightSwitch 経験者はスピーカーでもあった森さんと瀬尾の二人だけだったはずなのに、なんでこんな質問が出てきたんでしょう?(笑)
質問された方は恥ずかしがり屋さんだったのかな。

以上、予想以上に LightSwitch に対する世間に認知度が低くて、この数日少し凹み気味の瀬尾がお届けしました。

広告
カテゴリー: LightSwitch タグ: , パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中