我有这个datagrid,它有一个带有NumericStepper的列作为itemEditor,用户可以在其中更改他想要购买的项目数。当用户更新datagrid的值时,如何计算所有单元格的总和?
编辑1
我的数据网格是关于产品的颜色和大小。列是从此函数动态生成的
private function getColumn(dataField:String, headerText:String,editable:Boolean) : DataGridColumn
{
var column:DataGridColumn = new DataGridColumn(dataField);
column.headerText = headerText;
column.width = 20;
editable ? column.editable = true : column.editable = false;
column.editorDataField = "value";
column.itemEditor = new ClassFactory(ColorSizesFormRenderer);
return column;
}
然后我循环我的xml http结果
for each (var thisSize:XML in result.product.(@id == pId)..size) {
_columns.push(getColumn("size"+thisSize,thisSize,true));
}
那么如何找到所有细胞的总和?
编辑2
我使用此代码循环所有单元格
protected function color_sizes_itemFocusOutHandler(event:DataGridEvent):void
{
total = 0;
for each(var row:Object in color_sizes.dataProvider) {
total += row.size28;
}
}
row.size28是动态生成的。所以它可能是row.size29,row.size30等。
如何在不知道data.property的情况下遍历我的所有单元格?
提前致谢
答案 0 :(得分:0)
您的数字步进器应显示您显示的[data]行中的可绑定属性值。 然后你只需要解析datagrid的dataProvider并得到data.property的总和。
代表:
class MyObject
{
[Bindable]
var itemsNo:int = 0;
var productName:String = "";
}
数据网格将有一个NumericStepper自定义列,其值为{data.itemsNo}
最后只计算datagrid.dataProvider项目中的所有itemsNo