2013-07-11 2 views
0

Мне предоставили AdvancedDataGrid и вам нужно было добавить столбец флажков на передний план. Код аналогичен этому, хотя удачная стилизация и дополнительные функции были удалены. Не думайте, что стажер должен публиковать код компании онлайн.Добавление флажков в advancedDataGrid

<mx: AdvancedDataGrid> 
    <mx:columns> 
     <mx: AdvancedDataGridColumn dataField = "something1" headerText="1"/> 
     <mx: AdvancedDataGridColumn dataField = "something2" headerText="2"/> 
     <mx: AdvancedDataGridColumn dataField = "something3" headerText="3"/> 
     <mx: AdvancedDataGridColumn dataField = "something4" headerText="4"/> 
     <mx: AdvancedDataGridColumn dataField = "something5" headerText="5"/> 
     <mx: AdvancedDataGridColumn dataField = "something6" headerText="6"/> 
    </mx: columns> 
</mx: AdvancedDataGrid> 

Я хочу добавить столбец флажков перед первой колонкой. Не совсем уверен, как это сделать. Я нашел пример в Интернете (работа над поиском ссылки будет опубликовать как можно скорее), которые создают классы, которые отображают заголовок (нужно, чтобы заголовок функционировал как выбрать все и отменить выбор всех) и флажки, но независимо от того, что я делаю, это не Работа. У кого-нибудь есть какие-то идеи или может указать на хороший пример того, что делать. Что-нибудь с подробным объяснением было бы весьма полезно.

+3

Короткий ответ: Используйте индивидуальный заказ. – JeffryHouser

+0

Я попытался использовать это. Но это не отобразится. – thad

+2

Проблема заключается в том, чтобы отобразить пользовательский элемент itemRenderer. Эта часть флажка является дополнительной. Посмотрите и приведите пример пользовательского элемента itemRenderer, работающего сначала, часть checkBox будет довольно простой после этого. – Ryan

ответ

0

В разделе MXML

<mx:DataGridColumn textAlign="center" width="25"> 
    <mx:headerRenderer> 
     <fx:Component> 
      <mx:CheckBox change="{outerDocument.fnChangeAll(chkAll)}" id="chkAll" selected="{data.flRead}" /> 
     </fx:Component> 
    </mx:headerRenderer> 
</mx:DataGridColumn> 

В коде ActionScript

public function fnChangeAll(chk:Object):void 
{ 
    var check:CheckBox= chk as CheckBox; 
    for each (var curr:ObjectOfDataProvider in listObject) { 
     curr.flRead=check.selected; 
    } 
} 

(это то же самое с AdvancedDataGrid)

Подведение: Вы должны добавить headerRenderer, связанный с вашей колонки, так что вы напишите функцию о поведении вашего заголовка.

Сообщите мне, если все в порядке