PDA

Просмотр полной версии : CheckBox column in DataGrid


PIL78
19.04.2007, 12:34
Добрый день.
Юзаю DataGrid следующим образом:
<mx:DataGrid x="330.25" y="66" width="252.75" height="302" id="gridAllUsers" initialize="onInitGridAllUsers()">
<mx:columns>
<mx:DataGridColumn headerText="" dataField="checked" width="20" editable="true"
rendererIsEditor="true" itemRenderer="mx.controls.CheckBox" editorDataField="selected" />
<mx:DataGridColumn headerText="Name" dataField="name"/>
</mx:columns>
</mx:DataGrid>
в первом столбце нормально отображаются чекбоксы, далее, есть сторонний чекбокс - выделить все-снять выделения, работает так:
private function onSelectAllAllowed():void {
var checked:Boolean = chSelectAll.selected;
if(gridAllUsers.dataProvider == null) return;
//

for(var i:Number = 0; i < gridAllUsers.dataProvider.length; i++){
gridAllUsers.dataProvider[i].checked = checked;
}
gridAllUsers.invalidateList();
}
Все работает отлично. Но как только любой чекбокс в гриде был кликнут - эта ячейка перестает реагировать на выделить все-снять выделение.
Источник данных грида - Array, в котором хранятся обьекты моего класса.
В чем может быть проблема?
Спасибо.

baron27
19.04.2007, 13:04
http://www.returnundefined.com/files/ItemRendererExampleV2/
http://www.dgrigg.com/samples/flex/checkboxitemrenderer/

PIL78
19.04.2007, 22:00
Спасибо за ссылки, немного разобрался, теперь не могу понять каким макаром мне прицепить слушатель события к чекбоксу по выбору всех
:(

PIL78
19.04.2007, 23:14
все, разобрался - использую свои события, нужно было разрешить им всплывать.