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)