10-24-2013, 08:05 PM
ReocrdSet.delete-all をコールした際、RecordsBulkChanges が発生すると思いますが、
このイベントの中で、レコードの数を見ると、削除される前の件数が取得されます。
after 句を使っても、件数は同じでした。
どうすれば、削除されたあとの件数(つまり0件)を取得できますか?
Code:
{let rs:RecordSet =
{RecordSet
{RecordFields
{RecordField "First", domain = String},
{RecordField "Last", domain = String},
{RecordField "Age", domain = int}
},
{RecordData First = "John", Last = "Smith", Age = 25},
{RecordData First = "Jane", Last = "Smith", Age = 29},
{RecordData First = "Jane", Last = "Jones", Age = 28},
{on e:RecordsBulkChanges at rs:RecordSet do
{popup-message "RecordsBulkChanges レコード数:" & rs.size}
{after 1s do
{popup-message "RecordsBulkChanges after レコード数:" & rs.size}
}
},
{on e:RecordRemoved at rs:RecordSet do
{popup-message "RecordRemoved レコード数:" & rs.size}
}
}
}
{def rg = {RecordGrid record-source = rs}}
{VBox rg,
{CommandButton
label = "delete-all",
{on Action do
{rs.delete-all}
}
}}