Flex DataGridColumn с массивом объектов в качестве поставщика данных
У меня есть сетка данных, которая использует массив объектов в качестве поставщика данных. Объекты по сути являются парами ключ / значение: { foo:"что-то"} { bar:"hello"} { caca:"lorem"} Сетка данных имеет 2 столбца. Первый столбец - это ключ, а второй столбец - это значение. Прямо сейчас моя сетка выглядит так:
Моя функция dataFormatter гарантирует, что в зависимости от столбца (то есть значения dataField) будет напечатан правильный ключ или значение. Это прекрасно работает для отображения. Однако, как только я пытаюсь отредактировать поле значения, оно по существу добавляет новое значение в объект с ключом '1'. Например, если я отредактирую объект {caca: "lorem"}, он будет содержать значение {caca:"lorem",1:"new value"}.
Есть ли какой-нибудь возможный способ установить DataGridColumn, чтобы при редактировании значения оно обновляло значение, связанное с ключом, а не вставляло новое значение? Я пытался использовать пользовательский редактор элементов, но он все еще выполняет вставку. Кажется, мне нужно обновить dataField, указав фактическое значение ключа, но я не уверен, как это сделать.
1 ответ
Похоже, вам нужно подумать о том, где будут храниться ваши данные. Я бы порекомендовал прослушать событие CollectionEvent.COLLECTION_CHANGE в вашей модели данных. Этот объект события будет содержать информацию о том, какие изменения произошли, и вы можете вносить любые необходимые изменения.