2010-03-12 5 views
0

У меня есть datagrid, который использует массив объектов в качестве поставщика данных. Объекты являются, по существу, парами ключ/значение: {foo: "something"} {bar: "hello"} {caca: "lorem"} В таблице данных есть 2 столбца. Первый столбец - это ключ, а второй столбец - значение. Сейчас моя сетка выглядит следующим образом: Flex DataGridColumn с массивом объектов в качестве поставщика данных

Моя функция dataFormatter убеждается, что в зависимости от столбца (т.е. значение DataField) правильный ключ или значение получает распечатаны. Это отлично подходит для отображения. Однако, как только я попытаюсь изменить поле значения, он добавляет новое значение в объект с ключом «1». Например, если я отредактирую объект {caca: "lorem"}, он будет содержать значение {caca: "lorem", 1: "new value"}.

Есть ли какой-либо возможный способ установить DataGridColumn, чтобы при редактировании значения оно обновляло значение, связанное с ключом, а не вставляя новое значение? Я пробовал использовать редактор настраиваемых элементов, но он все еще делает вставку. Похоже, мне нужно обновить «dataField» с фактическим значением ключа, но я не уверен, как это сделать.

+0

Хотите, чтобы показать код? – Robusto

+0

var arr: Array = new Array(); // // установка пары ключей/значений объектов // arr.push ({foo: "bar"}); arr.push ({cat: "dog"}); arr.push ({kick: "tothegroin"}); var ac: ArrayCollection = new ArrayCollection (arr); ... <тх: DataGrid DataProvider = "{ас}"> <тх: DataGridColumn DataField = "{должно быть ключевым}" /> <тх: DataGridColumn DataField = "{должно быть значение}"/> ps Я печатаю это с головы. – rforte

+0

ничего себе, выше не читается. Можно ли форматировать код в комментарии? – rforte

ответ

0

Похоже, вам нужно подумать о том, где будут храниться ваши данные. Я бы рекомендовал прослушивать событие CollectionEvent.COLLECTION_CHANGE в вашей модели данных. Этот объект события будет содержать информацию о том, какие изменения произошли, и вы можете сделать все обновления, которые вам нужно сделать.

 Смежные вопросы

  • Нет связанных вопросов^_^