Como fazer para tratar sinais(eventos) de post e delete do DataSet?
Data de postagem: Jul 09, 2010 8:29:39 PM
A partir da versão 10.2.2.5 é possível tratar os sinais(eventos) de post e delete do DataSet. A API de sinais é nova e é baseada na API de sinais do Qt (http://doc.trolltech.com/4.5/qtscript.html#using-signals-and-slots)
Segue abaixo o exemplo de uso:
var ds = new DataSet()
ds.createField( "chave", "integer" )
ds.create()
ds.recordPosted.connect(ds, function() {
//O objeto this é o DataSet pois ele foi passado com primeiro parâmetro no método connect
//Caso fosse informado somente a function o objeto this seria o objeto global da sessão.
log.write("Registro " + this.chave + " postado.")
})
ds.recordDeleted.connect(ds, function() {
log.write("Registro deletado.")
})
ds.append()
ds.chave = 1
ds.post()
ds.del()
O resultado que este script gera no log é:
[INFO] application - Registro 1 postado.
[INFO] application - Registro deletado.
O método connect() pode ser usando de duas formas:
Passando somente a function
Passando o receiver e a function. O receiver será publicado no evento com o objeto this.
Na prática é como se existisse dois métodos connect():
connect(function); e
connect(receiver, function)