DataGrid里面嵌入一个Combobox,我想通过选择这个ComboBox计算其中一列值

tcmis 2014-03-14 06:30:36



<mx:DataGrid headerHeight="28" dataProvider="{totalItems}" sortableColumns="false"
rowHeight="27" width="100%" verticalAlign="middle" height="140" id="dgQuotaReport">
<mx:columns>
<mx:DataGridColumn width="160" headerText="费用项目" dataField="costItemName" />
<mx:DataGridColumn width="100" headerText="全年可申请费用" dataField="totalCost" />
<mx:DataGridColumn width="100" headerText="月均费用" dataField="average" />
<mx:DataGridColumn headerText="已下达情况" dataField="issuededThings"/>
<mx:DataGridColumn width="190" headerText="本次申请范围" dataField="costRange">
<mx:itemRenderer>
<mx:Component>
<mx:HBox width="100%" verticalAlign="middle" horizontalGap="0">
<mx:TextInput text="申请到:" backgroundColor="#f7f7f7" width="60" editable="false" borderStyle="none" />
<mx:ComboBox width="90" id="cbCostRange" labelField="name" change="costRangeChange()">
<mx:Script>
<![CDATA[
import com.jrosion.pojo.FlexCustomQuotaCost;
import com.jrosion.pojo.FlexKrSysQueryDefend;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
import com.jrosion.comas.JrFbCore;

[Bindable]
private var curCostRange: ArrayCollection = new ArrayCollection();
private var jrFbCore:JrFbCore = new JrFbCore();

private var _curData: FlexCustomQuotaCost = new FlexCustomQuotaCost();

override public function set data(value:Object) : void {
super.data = value;
_curData = FlexCustomQuotaCost(value);
curCostRange = jrFbCore.getCostRequestTimeRange(value.issuededCostRange);
cbCostRange.dataProvider = curCostRange;
this.cbCostRange.selectedIndex = curCostRange.length - 1;
}

private function costRangeChange(): void{
_curData.costRange = Number(FlexKrSysQueryDefend(cbCostRange.selectedItem).qvalue);
_curData.requestCost = _curData.costRange * _curData.average;
super.data = _curData;
super.data.requestCost = _curData.requestCost;
}

]]>
</mx:Script>
</mx:ComboBox>
<mx:TextInput text="(月)" backgroundColor="#f7f7f7" width="40" editable="false" borderStyle="none" />
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn headerText="本次申请金额" dataField="requestCost"/>

</mx:columns>
</mx:DataGrid>




就是通过选择时间范围*月均费用=本次申请金额
请大侠指点一下,
...全文
139 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
小流_跬步 2014-03-19
  • 打赏
  • 举报
回复
这个就是在监听combobox的事件处理中进行运算重新给datagrid最后一列赋值吧,麻烦在啥地方呢?
随心点儿 2014-03-19
  • 打赏
  • 举报
回复
看代码combobox监听也做了,值也给计算了,是不是没有显示的问题?如果是的话,你就查一下赋给该对象的值为啥没显示的问题了,不是你现在所关注如何计算得到该值的问题了,调试,测试一下,确认一下问题所在

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧