Показать сообщение отдельно
Старый 18.03.2014, 23:36
SpetZ_Naz вне форума Посмотреть профиль Отправить личное сообщение для SpetZ_Naz Найти все сообщения от SpetZ_Naz
  № 5  
Ответить с цитированием
SpetZ_Naz

Регистрация: Aug 2012
Сообщений: 77
Цитата:
Сообщение от GBee Посмотреть сообщение
я так понял надо ловить itemEditBeginning и в событии уже приходит dataField и rowIndex, c помощью которых вы извлекаете значение из вашего датапровайдера.
Нет, не ловит оно обновленную ячейку.. При переходе на следующую ячейку в слушатель события ITEM_EDIT_END приходит старое значение ячейки. Какой-то заколдованный круг.

Как же всетаки словить обновленное значение при окончании редактирования...?

Добавлено через 2 часа 44 минуты
В общем разобрался.

Решил через номера ячеек выкрутиться. Вот код:

Код AS3:
private var _tempArrChanges:Array = new Array();  // объявляем в глобальной области временный массив в 
                                                 //котором будем хранить значения покинутой ячейки
 
..............................................
dataGridBase.addEventListener(DataGridEvent.ITEM_EDIT_BEGINNING, onGridBeginEditHandler); // вешаем
                                       //слушателя на событие подготовки начала редактирования DataGrid'а
 
protected function onGridBeginEditHandler(eObj:Object):void 
		{			
			if (_tempArrChanges.length != 0)
			{
				var tempStr:String = '';  // строчка сравнения
				tempStr =  eObj.currentTarget.getItemAt(_tempArrChanges[0][0])[_tempArrChanges[0][1]];
 
				if (tempStr != _changedItem)  // сравниваем значения
				{
					Label.text = 'Были произведены изменения!!!';
				} else 
				{
					Label.text = 'Без изменений';
				}
			}
			_changedItem =  eObj.currentTarget.getItemAt(eObj.rowIndex)[eObj.dataField]; // записываем значение на которой клацнул пользователь
 
			if (_tempArrChanges.length != 0) _tempArrChanges.splice(0,1); // удалим 
                                                                   //ненужную больше запись
 
			_tempArrChanges.push([eObj.rowIndex, eObj.dataField]); // запомним номер строки 
                                                     //и имя столбика на котором клацнули
		}
GBee, спасибо. Ваши комментарии не пропали в пустую.


.
__________________
Набирать программы могут многие, программировать - единицы