2009-05-19 4 views
0

У меня есть компонент списка, и у меня есть редактор элементов для элементов в списке. Я хотел бы иметь кнопку, которую пользователь нажимает, когда они будут сделаны с их изменениями, потому что мне приходится редактировать несколько фрагментов данных в редакторе, и я также хотел бы проверить данные перед закрытием редактора. Я просто не знаю, что делать в событии нажатия кнопки, чтобы закрыть редактор объектов и передать его изменения поставщику данных.Как создать редактор элементов в компоненте списка гибких списков?

ответ

0

я хотел бы использовать привязки данных, и пусть Flex выполнит эту работу для вас.

Имейте объект myObject со связываемым свойством myList: IList. Привяжите экран к этому объекту.

Когда вы начнете редактирование, скопируйте этот список.

На MouseEvent.CLICK:

var ed:Editor // Your list editing object. 
var edProvider:IList = ed.dataProvider; 
var targList:IList = myObject.myList; 

var bool:Boolean  = (myObject.myList.length > edProvider.length); 
var len:int   = (bool)? targList.length: edProvider.length; 

var item:*   = null; 

for(var i:int = 0; i < len; i++) 
{ 
    try // a "just in case". You probably will never have a problem. 
    { 
     item = edProvider.getItemAt(i); 
     targList.setItemAt(item, i); 
    } 
    catch(error:Error) 
    { 
     continue; 
    } 
} 
0

Для обработки редактирования нескольких полей в элементе управления List, вам нужно будет поймать событие ItemEditEnd, а затем вручную изменить поля вы заинтересованы в

.

См. «Пример: использование настраиваемого редактора элементов с помощью элемента управления списком» здесь - http://livedocs.adobe.com/flex/3/html/help.html?content=celleditor_9.html#226555.

Обычно List обрабатывает отправку этого события для вас, когда вы фокусируетесь из ячейки. Я не уверен в своих свойствах с головы, но вы должны иметь возможность построить это событие в своем обработчике кликов, а затем просто отправить его самостоятельно.

+0

Спасибо за ответ, но это не совсем то, что я ищу. Установка значений частей, если это штраф, это просто проверка и закрытие части редактора элементов, в которой мне нужна помощь. – smartdirt