Datagrid, получение и установка значений отдельных ячеек

У меня есть Flex 4 DataGrid, что я хотел бы сделать, так это то, что когда ячейка была отредактирована, я хотел бы пройтись по значениям этого столбца и выполнить математические вычисления со значениями, например, я хочу суммировать определенные значения.

1) Как я могу ссылаться на отдельные значения определенного столбца, чтобы я мог их установить. 2) Как мне установить эти значения или создать новый массив столбцов и вставить его вместо этого столбца.

Пожалуйста и заранее спасибо. Крейг


person Craig Mc    schedule 08.10.2010    source источник


Ответы (3)


var data_field:String = dgViewPreview.columns[6].dataField; //для 6-го столбца ListCollectionView(dataGrid.dataProvider).getItemAt(requiredRow)[data_field] = newValue;

Спасибо Армагошу за идею.

person Craig Mc    schedule 12.10.2010

Вы также можете прослушать CollectionChangeEvent вашего dataProvider, проверить его тип, и если это событие PropertyChangeEvent, вызвавшее его, — проверить имя свойства, которое было изменено, и в зависимости от свойства выполнить вычисления. Это сработает, если менять значение не только из dataGrid. Кроме того, вы хотели бы, чтобы вычисляемые значения были помечены как [Bindable], чтобы изменения отражались в пользовательском интерфейсе.

person Maria Sakharova    schedule 11.10.2010

Во Flex 3 это можно сделать, добавив прослушиватель событий в сетку для события ItemEditEnd. В обработчике этого события вы будете перебирать поставщик данных и выполнять необходимые расчеты и обновления.

Когда вы обновляете элементы в своем поставщике данных, обновленные значения будут отражены в вашей сетке.

Я предполагаю, что вы сделали бы что-то подобное во Flex 4.

--рон

person Ron    schedule 08.10.2010
comment
В конце концов я преобразовал поставщик данных в представление списка и использовал getitem, чтобы возиться со значениями. - person Craig Mc; 12.10.2010