|
发表于 2013-1-23 14:06:44
|
显示全部楼层
1.平台提供的取关系中默认值的方法需要用到ID,当前数据这是ID应该没有,两个值默认都是0吧,可以设置默认值为0,可以通过前段data的valueChange事件判断计算值写,
可以参考- // 计算金额
- mainActivity.calfMONEY = function () {
- // 实际金额所在的grid的id
- var subGrid = xforms('gridDEMO_OrderDetail').grid;
- var index = subGrid.getIndex();
- var rowid = subGrid.getSelectedId();
- var fUnitprice = subGrid.getValueById(rowid, "fUnitprice");
- var fQuantity = subGrid.getValueById(rowid, "fQuantity");
- if (subGrid.getValueById(rowid, "fDisCount") > 0) {
- var fDisCount = subGrid.getValueById(rowid, "fDisCount");
- var fFactAmt = parseFloat(fUnitprice) * parseInt(fQuantity)
- * parseFloat(fDisCount);
- subGrid.setValueByName("fFactAmt", fFactAmt, index);
- } else {
- if (fQuantity > 0) {
- var fFactAmt = parseFloat(fUnitprice) * parseInt(fQuantity);
- subGrid.setValueByName("fFactAmt", fFactAmt, index);
- }
- else {
- var fFactAmt = parseFloat(fUnitprice);
- subGrid.setValueByName("fFactAmt", fFactAmt, index);
- }
- }
- mainActivity.totalAmt();
- };
- mainActivity.totalAmt = function () {
- var gridInstance = xforms('gridDEMO_OrderDetail').grid;
- if (gridInstance.instance.getLength() > 0) {
- var sum = 0;
- for (var i = 0; i < gridInstance.instance.getLength(); i++) {
- if(gridInstance.getValueByName("fFactAmt", i)>0){
- // sum =++;
- // alert(sum);
- sum += parseFloat(gridInstance.getValueByName("fFactAmt", i));
- }
- }
- var data = justep.xbl('dataDEMO_Order');
- data.setValue('fTolotalAmt', sum);
- // commonUtils.setValueToInstance('dataDEMO_Order','fTolotalAmt',sum);
- }
- };
- mainActivity.valueChange = function (event) {
- if (event.column != 'fProductCode'
- && event.column != 'fProductName') {
- mainActivity.calfMONEY();
- }
- };
复制代码 2.如果没有通过配置数据源,可以用java中JDBC的方法查询数据
3.可以参考平台的订单案例/UI/demo/misc/process/order/mainActivity.w |
|