Esta classe aqui tem a mesma função da que vc apresentou acima, a
diferença é que ela estende a classe MovieClip e está vinculada ao
Movie Clip no palco. Dentro deste MC coloquei estes três componentes:
gtridResult:DataGrid;
comboResult:ComboBox
btBuscar:Button;
Sendo assim estes componentes são referenciados na Classe PopulaGrid
sem maiores problemas.
Enviei o .fla e a classe para seu email.
Segue.
import mx.remoting.Service;
import mx.remoting.PendingCall;
import mx.utils.Delegate;
import mx.controls.*;
import mx.rpc.*;
class PopulaGrid extends MovieClip{
private var myService:Service;
private var pc:PendingCall;
private var gtridResult:DataGrid;
private var comboResult:ComboBox
private var btBuscar:Button;
var providerCombo:Array;
function PopulaGrid(){
providerCombo = new Array()
}
function onLoad(){
btBuscar.addEventListener("click",Delegate.create(this,recuperaTodos));
mx.remoting.debug.NetDebug.initialize();
myService = new Service("http://localhost/amfphp/gateway.php";
",
null, "dbcombobox", null, null);
}
private function recuperaTodos():Void{
pc = myService.recuperaTodos();
pc.responder = new RelayResponder(this, "getData_Result",
"getData_Fault");
}
private function salva():Void{
var objSalva = new Object();
objSalva.nome = "valor da campo";
objSalva.idade = "valor da campo";
objSalva.algumaCoisa = "valor da campo";
pc = myService.getSalva(objSalva);
pc.responder = new RelayResponder(this, "getData_ResultSalva",
"getData_Fault");
}
private function getData_Result(re:ResultEvent):Void {
gtridResult.removeAll();
providerCombo.removeAll();
var objResult:Object = new Object(re.result)
gtridResult.dataProvider = objResult;
for(var i=0;i<objResult.length;i++){
providerCombo.addItem({label:objResult.getItemAt(i).noEquipe,data:objResult.getItemAt(i).nuEquipe})
}
comboResult.dataProvider = providerCombo;
}
private function getData_Fault(re:Fault):Void {
for (var i in re){
trace(re[i]);
}
}
}
On 25 maio, 09:47, Neriberto <[EMAIL PROTECTED]> wrote:
> vou postar um exemplo que estou fazendo, na função
> getDataProvider(dbdata, dblabel, tabela) coloco os nomes dos campos no
> banco que quero no data e no label e o nome da tabela então o php
> criará o select,... e retornará para o flash através da função
> handleGetDataProvider(re:ResultEvent) e é aqui que o bixo tá pegando
> preciso pegar este carinha aí o re:ResulEvent e passar o result dele
> para o dataProvider de um combo... criei estas classes para teste
> mesmo, e se der certo penso que até dá para reaproveitar em códigos
> dentro do flash....
>
> Segue o código:
>
> class dbcombobox
> {
> //Change the gateway URL as needed
> private var gatewayUrl:String = "http://localhost/amfphp/
> gateway.php";
> private var service:Service;
>
> function dbcombobox()
> {
> NetDebug.initialize();
> this.service = new Service(this.gatewayUrl, null,
> "dbcombobox");
> }
>
> ///
> function getDataProvider(dbdata, dblabel, tabela)
> {
> var pc:PendingCall = service.getDataProvider(dbdata, dblabel,
> tabela);
> pc.responder = new RelayResponder(this,
> "handleGetDataProvider",
> "handleRemotingError");
> }
>
> function handleGetDataProvider(re:ResultEvent)
> {
> //Implement custom callback code
> }
>
> function handleRemotingError( fault:FaultEvent ):Void
> {
> NetDebug.trace({level:"None", message:"Error: " +
> fault.fault.faultstring });
> }
>
> }
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---