Eita que itemrenderer da trabalho mas vou tentar te dar uma força.
Cara parece complexo demais, mas vc tem que verificar o evento q o
cara ta fazendo
vc cria tipo um arrayTemporario do tipo arraycollection
olha uma funcao que usei uma vez
to te passando a funcao completa aqui e acho q vc vai entender...
public function MarcaDesmarcaCHK(e:Event):void{
var obj:Object;
var valorTotal:Number;
var nValor:String;
var nValorTemp:String;
var meusDados:SisaBrVo = new SisaBrVo;
var index:int;
if(Application.application.bBRCHKSelected == true &&
Application.application.bClicouCheck == false){
EmprestimoSelecionado = SisaBrVo(e.currentTarget.selectedItem);
meusDados.sql_rowid = EmprestimoSelecionado.sql_rowid;
meusDados.cConta = EmprestimoSelecionado.cConta;
meusDados.cNome = EmprestimoSelecionado.cNome;
meusDados.nCpfCgc = EmprestimoSelecionado.nCpfCgc;
meusDados.nMatEmp = EmprestimoSelecionado.nMatEmp;
meusDados.nTParc = EmprestimoSelecionado.nTParc;
meusDados.nValor = EmprestimoSelecionado.nValor;
meusDados.cTipo = EmprestimoSelecionado.cTipo;
meusDados.bSelect = true;
Application.application.nQtdEmpSelecionados++;
nValor =
formatarAmericano.format(EmprestimoSelecionado.nValor.toString());
nValorTemp =
formatarAmericano.format(nSomaVlrEmpSelecionados.text.toString());
valorTotal = parseFloat(nValorTemp.toString()) +
parseFloat(nValor.toString());
nSomaVlrEmpSelecionados.text =
formatarReal.format(valorTotal.valueOf().toString());
arrayTempDadosSelecionados.addItem(meusDados);
nQtdEmpSelecionados.text =
Application.application.nQtdEmpSelecionados;
Application.application.bClicouCheck = true;
}
if(Application.application.bBRCHKSelected == false &&
Application.application.bClicouCheck == true){
EmprestimoSelecionado = SisaBrVo(e.currentTarget.selectedItem);
Application.application.nQtdEmpSelecionados--;
nValor =
formatarAmericano.format(EmprestimoSelecionado.nValor.toString());
nValorTemp =
formatarAmericano.format(nSomaVlrEmpSelecionados.text.toString());
valorTotal = parseFloat(nValorTemp.toString()) -
parseFloat(nValor.toString());
nSomaVlrEmpSelecionados.text =
formatarReal.format(valorTotal.valueOf().toString());
procura_index(EmprestimoSelecionado.sql_rowid,
arrayTempDadosSelecionados);
nQtdEmpSelecionados.text =
Application.application.nQtdEmpSelecionados;
Application.application.bClicouCheck = false;
}
}
no seu gid vc colocar assim
click="MarcaDesmarcaCHK(event)"
Se nao entender tento te explicar melhor blz?
tem outra funcao que uso dentro do meu itemrenderer
public function passaValores(e:Event):void{
if(e.target.selected == true){
//Alert.show('Marcou');
Application.application.bBRMarcado = true;
Application.application.bBRCHKSelected = true;
Application.application.bClicouCheck = false;
} else{
//Alert.show('Desmarcou');
Application.application.bBRMarcado = false;
Application.application.bBRCHKSelected = false;
Application.application.bClicouCheck = true;
}
}
meu itemredere ficou assim:
<mx:DataGridColumn headerText="
" textAlign="center"
dataField="bSelect" width="20" editable="true" rendererIsEditor="true"
editorDataField="selected">
<mx:itemRenderer>
<mx:Component>
<mx:CheckBox click="outerDocument.passaValores(event)"
selected="{data.bSelect}"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
no codigo mxml reescrevi a funcao set data ficou assim:
<mx:Script>
<![CDATA[
[Bindable] private var _selected:Boolean
override public function set data(value:Object):void{
super.data = value;
if(data.bSelect == true){
_selected = true;
}else{
_selected = false;
}
}
]]>
</mx:Script>
qualquer coisa estamos ai...
On 30 set, 11:01, Ednei <[email protected]> wrote:
> Entendi, a idéia é boa... mas como seria feito? Digo, na prática, como
> seria o código?
>
> On 30 set, 10:48, Kleber Gracia <[email protected]> wrote:
>
> > Jogue para outro arrayCollection os event do clique no grid, ao ir clicando
> > vai adicionando, e ao abrir a telinha passo os dados para outro array
> > [Bindable], espero que dê certo.
>
> > At.
> > Kleber Gracia Soares
> > Equipe Galaxyz trabalhando para vocêwww.galaxyz.com.br
> > Telefone: |44| 3233-2039
> > Cel.: |44| 9960-0298 - Tim
> > Msn: [email protected]
> > Skype: kleber.gracia
> > Email: [email protected]
> > "Tudo posso naquele que me fortalece!" (Fl 4,13).
>
> > Em 30 de setembro de 2010 10:39, Ednei <[email protected]> escreveu:
>
> > > Olá galera,
>
> > > Eu tenho um DataGrid que neste tem um itemRenderer que é um checkBox,
> > > que setado true ou false pela coluna "baixar".
>
> > > Quando eu marco e desmarco o checkbox, naturalmente, a coluna baixar
> > > do ArrayCollection é alterarda na llinha correspondente.
>
> > > O que eu preciso é o seguinte: Quando o usuário marcar algumas linhas
> > > do DataGrid através do checkBox e clicar no Button "BAIXAR", eu
> > > preciso abrir uma janelinha PopUp que nesta averá um DataGrid populado
> > > com as linhas marcadas do DataGrid anterior.
>
> > > Alguém tem uma idéa de como fazer isso?
>
> > > ps: Eu uso Flex3 + AMFPHP.
>
> > > --
> > > 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 emhttp://groups.google.com/group/flexdev
--
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