Thread Rating:
  • 405 Vote(s) - 2.75 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Reocrd.delete では、RecordRemoved イベントは発生しない?
10-25-2013, 10:59 AM,
#1
Reocrd.delete では、RecordRemoved イベントは発生しない?
RecordRemoved は、レコードが削除された際に発生するイベントと思っていたのですが、
Reocrd.delete をコールした際には、発生しないようですね。

・1件だけレコードを削除したあとに、コミットすると、RecordRemoved が発生する
・削除されたレコード(RecordRemoved.record )の値を参照することはできない。
・複数権レコードを削除したあとにコミットすると RecordsBulkChanges が発生する(RecordRemovedは発生しない)

上記の認識は正しいのでしょうか。
その場合、レコードが削除されたときのハンドリングは RecordModified で レコードの状態を見る、という方式が正しいのでしょうか。

また、上記以外で RecordRemoved が発生するケースには、どんなものがあるのでしょうか。


Code:
{let rs:RecordSet =
    {RecordSet
        {RecordFields
            {RecordField "Index", domain = int},
            {RecordField "First", domain = String},
            {RecordField "Last", domain = String}
        },
        {RecordData First = "John", Last = "Smith", Index = 1},
        {RecordData First = "Jane", Last = "Smith", Index = 2},
        {RecordData First = "Jane", Last = "Jones", Index = 3},
        {on e:RecordModified at rs:RecordSet do
            {if e.record.state == RecordState.deleted then
                {popup-message "RecordModified 削除レコード Index: " &  e.record["Index"]}
            }
        },
        {on e:RecordRemoved at rs:RecordSet do
            ||下記処理は、エラーになる
            ||メッセージ:分離した Record に対して操作を実行しようとしています。
            {popup-message "RecordRemoved 削除レコード Index:" &  e.record["Index"]}
        }
    }
}
{def rg = {RecordGrid record-source = rs}}
{value rg}
{CommandButton
    label = "delete",
    {on Action do
        {rg.current-record.delete}
    }
}
{CommandButton
    label = "commit",
    {on Action do
        {rs.commit}
    }
}
10-26-2013, 07:28 PM,
#2
RE: Reocrd.delete では、RecordRemoved イベントは発生しない?


팁 주셔서 감사합니다.


Possibly Related Threads...
Thread Author Replies Views Last Post
  delete-all ではレコードは実際に削除されていない? umemura 2 2,657 10-25-2013, 08:54 AM
Last Post: umemura
Forum Jump:


Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('997')