Im новое для гибкого развития. У меня есть динамически связанный список данных. Мне нужно ограничить пользователя выбором более 5 элементов.Отключить невыделенные элементы в списке После выбора 5 элементов
Список производится с флажками и этикетки
методgetSelectionCount() возвращает количество выбранных элементов.
Вот мой код
<s:VGroup width="100%" height="100%">
<s:List id="chkLst" visible="{isMultipleSelectionAllowed}" width="100%" height="100%" borderVisible="false"
fontFamily="segoeui"
dataProvider="{filteredDataSet}" >
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
//-----------------------------------------------
//
// Checkbox select
//
//-----------------------------------------------
protected function chk_clickHandler(event:MouseEvent):void
{
var selection:Array = new Array();
for each(var item:Object in outerDocument.chkLst.dataProvider)
{
selection.push(item);
}
var count:int = 0;
for each(var sItem:Object in selection)
{
outerDocument.setSelectionCount(0);
if(sItem.selected)
{
count++;
}
outerDocument.setSelectionCount(count);
}
Alert.show(outerDocument.getSelectionCount()+"","test");
if(CheckBox(event.target).selected && outerDocument.getSelectionCount() <= 5){
outerDocument.setSelectionCount(outerDocument.getSelectionCount()+1);
}
if(outerDocument.getSelectionCount() >= 6){
}
}
]]>
</fx:Script>
<s:HGroup width="100%" height="30" gap="2" paddingLeft="5" paddingRight="5" verticalAlign="middle" clipAndEnableScrolling="true">
<s:CheckBox id="chk"
label="{data.label}" change="{data.selected = chk.selected}" selected="{data.selected}"
maxWidth="215" click="chk_clickHandler(event)" />
</s:HGroup>
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
- Как отключить флажки, какие пользователь не выбран, если счетчик выбора пользователя превышает 5?
2 Мне также нужно включить все флажки обратно, если пользователь unticks некоторые проверки того, что счетчик выбора идти ниже 5
Спасибо
Большое спасибо. Я реализую метод, который вы предложили, и ему удалось выполнить задачу. Ваш ответ был действительно полезен. Еще раз спасибо –
@SachithDeshanN приветствую вас и меня тоже здесь, чтобы узнать, что это. Нет проблемы. –