Сбой сетки данных при смене поставщика данных - PullRequest
0 голосов
/ 05 октября 2010

У меня есть группа переключателей в сетке данных, каждый раз, когда я пытаюсь изменить выбранный переключатель, происходит сбой веб-страницы. Ниже показано, как я собрал переключатель в сетке данных. Кто-нибудь видит, что может быть причиной проблемы?

MXML

<mx:Accordion>
<fx:Declarations>
<s:RadioButtonGroup id="cover"/>
</fx:Declarations>
<fx:Script>
<![CDATA[[
[Bindable] public var arrColl = new ArrayCollection();
arrColl.addItem(new ObjectProxy({name:"Jon Doe", position:1, cover:true, group:cover}));
arrColl.addItem(new ObjectProxy({name:"John Smith", position:2, cover:true, group:cover}));
]]>
</fx:Script>
<fx:Binding source="{dg.dataProvider as ArrayCollection}" destination="{arrColl}"/>
<mx:DataGrid id="dg" dataProvider="{arrColl}" ..>
...
</mx:DataGrid>

Renderer

<?xml version="1.0" encoding="utf-8"?>
<s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"                    xmlns:s="library://ns.adobe.com/flex/spark" 
xmlns:mx="library://ns.adobe.com/flex/mx" 
focusEnabled="true">
<fx:Script>
<![CDATA[
import mx.events.DynamicEvent;
public function selection(event:MouseEvent):void
{
var selectionEvt:DynamicEvent = new DynamicEvent("selectionEvt", true);
selectionEvt.data = this.data;
dispatchEvent(selectionEvt);
}
]]>
</fx:Script>
<s:RadioButton label="Cover" group="{data.group}" selected="{data.cover}" click="selection(event)"/>
</s:MXDataGridItemRenderer>

Обработчик события выбора радиокнопки

private function updateDp(event:DynamicEvent):void
{
if (event.type == "selectionEvt")
{
for (var i:int = 0; i < editGrid.dataProvider.length; i++) 
{
editGrid.dataProvider.getItemAt(i).cover = false; // Unselect all members of radio button group 
}
var index:int = editGrid.dataProvider.getItemIndex(event.data);
editGrid.dataProvider.getItemAt(index).cover = true; // Select target radio button
}

Ответы [ 2 ]

1 голос
/ 07 октября 2010

Я получил код для работы, используя событие изменения группы переключателей, а не пользовательское / динамическое событие в средстве визуализации переключателей. Однако я все еще не совсем понимаю (если / почему), что использование динамических событий вызвало проблему.

0 голосов
/ 06 октября 2010

Однажды у меня была похожая проблема, но я не могу вспомнить, как я решил ее, как это было довольно давно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...