André bom dia,

Cara não sei se entendi muito bem o que vc quer.
Mas tipo assim vou colocar um código aqui que talvez te ajude em algo.
Qualquer coisa estamos ai...

Vamos criar um class CheckBoxHeaderRenderer
o cdigo que ele vai ter é o seguinte:

package
{
import flash.events.MouseEvent;
import mx.controls.CheckBox;
import mx.controls.DataGrid;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.controls.dataGridClasses.DataGridListData;
import mx.events.DataGridEvent;

public class CheckBoxHeaderRenderer extends CheckBox
{

        public function CheckBoxHeaderRenderer()
        {
                super();
        }

        private var _data:DataGridColumn;

        override public function get data():Object
        {
                return _data;
        }

        override public function set data(value:Object):void
        {
                _data = value as DataGridColumn;
                label = DataGridListData(listData).label + " as plain text";
                DataGrid(listData.owner).addEventListener
(DataGridEvent.HEADER_RELEASE, sortEventHandler);
                selected = (data.getStyle("plainText") == true);

        }

        private function sortEventHandler(event:DataGridEvent):void
        {
                if (event.itemRenderer == this)
                        event.preventDefault();
        }

        override protected function clickHandler(event:MouseEvent):void
        {
                super.clickHandler(event);
                if (selected)
                        data.setStyle("plainText", true);
                else
                        data.setStyle("plainText", false);

                DataGrid(listData.owner).invalidateList();
        }

}

}

//fim do class

no caso aqui vou usar um HTML para o checkbox manipular blz?

vamos criar um outro class TextOrHTMLRenderer

package
{
import mx.controls.DataGrid;
import mx.controls.dataGridClasses.DataGridItemRenderer;
import mx.controls.dataGridClasses.DataGridColumn;

public class TextOrHTMLRenderer extends DataGridItemRenderer
{

        public function TextOrHTMLRenderer()
        {
                super();
        }

        override public function validateProperties():void
        {
                super.validateProperties();
                if (listData)
                {
                        var dg:DataGrid = DataGrid(listData.owner);

                        var column:DataGridColumn =     
dg.columns[listData.columnIndex];
                        htmlText = data[column.dataField];

                        if (getStyle("plainText"))
                        {
                                text = text;
                        }
                }
        }

}

}

//fim do class


agora nosso aplicativo dg.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
xmlns:local="*" >

<mx:Script>
<![CDATA[

private var dp:Array = [
        { symbol: "ADBE", name: "Adobe Systems Inc.",
                news: "Adobe Flex is <b>great</b>! according to <i>FlexCoders</
i>" },
        { symbol: "MACR", name: "Macromedia Inc.",
                news: "<FONT color='#FF0000'>Macromedia</FONT> is absorbed into
Adobe" },
        { symbol: "MSFT", name: "Microsoft Corp.",
                news: "Microsoft sees <FONT size='20'>Flex</FONT> for the first
time" },
        { symbol: "IBM", name: "IBM Corp.",
                news: "IBM was once the top <b><i>dog</i></b> but no more" }
        ];


]]>
</mx:Script>

<mx:DataGrid id="dg1" initialize="dg1.dataProvider = dp"
paddingTop="0" paddingBottom="0" verticalAlign="middle"
        variableRowHeight="true" >
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="name" width="140"/>
<mx:DataGridColumn headerText="Symbol" dataField="symbol" width="60" /
>
<mx:DataGridColumn headerText="News" dataField="news" wordWrap="true"
width="200"
                        headerRenderer="CheckBoxHeaderRenderer"
                        itemRenderer="TextOrHTMLRenderer" />
</mx:columns>
</mx:DataGrid>

</mx:Application>

//fim do aplicativo

Bem espero ter te ajudado...

Abraço,

Luiz Nogueira

On 26 jan, 14:20, Andre Coelho <[email protected]> wrote:
> Eu sei que o assunto do checkbox no datagrid já foi bastante discutido aqui
> na lista, ams eu não consegui achar ninguém com um problema igual ao meu.
>
> Eu já consigo colcoar o checkbox no datagrid e td mais. Tb consigo editar a
> minha propiedade no objeto referenciado.
>
> O meu problema é que eu quero que, ao clicar na checkbox, a linha em à qual
> ela pertence não seja selecionada. Mas caso clique em qualquer outra célula,
> a linha inteira deve ser selecionada.
> O meu comportamento, por enquanto, é "a linha é selecioanda ao clicar no
> checkbox".
>
> Eu cheguei a criar um renderer para poder capturar o evento do mouseClick e
> dar um event.stopImmediatePropagation(), mas não deu certo. Acho que a
> seleção na tabela está capturando o evento antes de chegar no clickHandler
> do checkBox.
>
> Por enquanto, meu renderer está vazio.
> O código da coluna está assim:
>
> <Control:CheckBoxHeaderColumn headerWordWrap="true" textAlign="center"
> headerText=" "
>                     width="25" sortable="false" dataField="selected"
> rendererIsEditor="true"
>
> headerRenderer="View.lqgRenderers.CheckBoxHeaderRenderer">
>                     <Control:itemRenderer>
>                          <mx:Component>
>                              <lqgRenderers:CheckBoxRenderer
> selectedField="selected" change="data.selected = selected" />
>                          </mx:Component>
>                     </Control:itemRenderer>
> </Control:CheckBoxHeaderColumn>
>
> O CheckBoxHeaderColumn é um header, que estende  AdvancedDataGridColumn, com
> um um checkBox que está funcionando numa boa.
> Alguma dica do que eu devo colocar dentro do CheckBoxRenderer?
>
> André Coelho Brait da Silva
> TeCGraf
>
> Tel: (21) 3527-2502
> Cel: (21) 8836-7622
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Responder a