CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  DataWindow

计算?

楼主linglingmxj(似霰_mxj)2003-08-01 10:46:57 在 PowerBuilder / DataWindow 提问

我的数据窗口有这样一些数据:  
  001     马力     高数     87  
  002       马红     高数     94  
  003     王里       高数   54  
  001     马力     sql         91  
  002       马红     sql     74  
  001     马力     企业管理       68.5  
  ------------  
  要求每个人的平均分,和总分怎么求?  
  我用了计算列,可是求出来的是所有人的总分,而不是按学号求的。  
  我在数据源中我进行了分组  
  为什么在求和和平均直的时候求出来的是所有人的  
  分组没有起的作用?  
   
  大家是否能告诉我在数据窗口中实现的具体步骤?  
   
  问题点数:0、回复次数:2Top

1 楼asklj(kaixin)回复于 2003-08-01 11:21:19 得分 0

时间有限,告诉你简略步骤:  
  1。用group样式来做数据对像,以学号为分组字段  
  2。sum(   分数   for   group   1)得总分。   avg(分数   for   group   1)得平均分Top

2 楼luminrong(十五大杰出青年)回复于 2003-08-01 21:12:08 得分 0

如果换种方法呢?不用计算域,而采用数据直接计算<确定数据窗口计算的列都为数值型>  
  在该数据窗口中itemchanged事件中:列gs、yw、yy代表高数,语文,英语  
  double             ldb_gs,ldb_yw,ldb_yy,ldb_sum,ldb_avg       //分别代表高数,语文,英语  
  if   dw_1.GetRow()   <=   0   then   return  
  if   dwo.name   =   'gs'   then  
        ldb_gs   =   double(data)  
        ldb_yw   =   dw_1.GetItemNumber(dw_1.GetRow(),'yw')  
        ldb_yy   =   dw_1.GetItemNumber(dw_1.GetRow(),'yy')  
  end   if  
  //其它两种一样取值  
  if   IsNull(ldb_gs)   then   ldb_gs   =   0//结果先判断再计算  
  ldb_sum   =   ldb_gs   +   ldb_yw   +   ldb_yy  
  ldb_avg   =   ldb_sum/3  
  dw_1.SetItem(dw_1.GetRow(),'sum',ldb_sum)  
  dw_1.SetItem(dw_1.GetRow(),'avg',ldb_avg)  
  Top

相关问题

  • 日期计算
  • 计算问题.
  • 计算问题?
  • 如何计算?
  • 计算问题
  • 和值计算
  • 金钱计算
  • 计算月份
  • 计算机
  • 日期计算。。。

关键词

  • 数据
  • 总分
  • ldb
  • 计算
  • 马力
  • 平均
  • 高数
  • group
  • 人

得分解答快速导航

  • 帖主:linglingmxj

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo