CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  基础类

如何给计算字段或计算域赋值?

楼主morningdew(蓝石-BlueStone)2002-09-22 16:31:52 在 PowerBuilder / 基础类 提问

我用SQL语句生成了一个数据窗口,里面有一个计算字段compute_0008(系统自已生成的名字),我在代码里对compute_0008赋值没有效果,,代码如下:  
  dw_1.setitem(1,'compute_0008',28.00)  
  请大家多多指教。。。。。  
   
  另:计算域可不可以赋值。。。如果可以应该怎么做?  
   
  我翻过以前的贴子,一有篇是关于这个问题的,,,答案是:用数据源里的计算字段就可以赋值了,,,可是我没有尝试成功. 问题点数:20、回复次数:14Top

1 楼ice2water(冰冻三尺)回复于 2002-09-22 16:36:18 得分 0

dw_1.object.compute_0008[1]=28Top

2 楼inalover(奇遇)回复于 2002-09-22 17:00:18 得分 0

用下面两个  
  dw_1.setitem(1,'compute_0008',28.00)  
  dw_1.object.compute_0008[1]=28  
  应该改不了计算域的值,不明白为什么要在程序中更改计算域的值??  
  如果是想根据列的不同情况,设定计算域的值的话,完全可以再计算域表达式中用if()或case()等解决的  
   
  数据源里的计算字段是指在  
  数据窗口的SQL语句中的计算域  
   
  如数据窗口的sql为:select   jg,sl,(jg*sl)je   from   cjb  
  则je这样的计算域可以用上面两式赋值,因为数据窗口把它当列一样处理的  
   
  Top

3 楼morningdew(蓝石-BlueStone)回复于 2002-09-22 17:24:48 得分 0

我就是想实现一个带有行号的文本框呀。。。。然后我再用循环给这个文本框赋值。。。。。请教,,多谢。,,Top

4 楼inalover(奇遇)回复于 2002-09-22 17:41:43 得分 0

用一个计算域表达式为getrow(),另用一个字段做文本框赋值不就可用了么?Top

5 楼morningdew(蓝石-BlueStone)回复于 2002-09-22 17:44:04 得分 0

上贴说得不够详细。。下面详细说明。  
  在我的发票打印数据窗口中,要求有一个水费字段。。这个水费字段的值要从另外一个数据窗口中对月份水费累加而得到的。。。我想在程序中运行以下的代码来给水费字段赋值。。。可是不行。  
  for   i=1   to   dw_1.rowcount()  
          shuifei=dw_1.getitemdecimal(i,'一月水费')  
          sumshuifei=sumshuifei+shuifei  
          dw_1.setitem(i,'compute_1',sumshuifei)  
  next  
  但是setitem不好使。。。。我的那个水费字段是用计算字段做的。。。能看明白吗?Top

6 楼morningdew(蓝石-BlueStone)回复于 2002-09-22 17:46:22 得分 0

to奇遇,,,没看明白,详细说说。Top

7 楼inalover(奇遇)回复于 2002-09-22 18:01:44 得分 10

看了看好像还是一个数据窗口呀?^_^  
   
  不过好像明白点,那就用在打印数据窗口的数据源  
  sql   select处加一个计算列来解决  
  例如在compute   column处加一个1.00   sf    
  然后在数据窗口添加该计算列sf,记住是列sf,而不是计算域  
  这样就可以在程序给该计算列赋值了  
   
  Top

8 楼programbcb(datawindow)回复于 2002-09-22 18:14:59 得分 0

把表达式写为:sum(shuifei   for   all)Top

9 楼morningdew(蓝石-BlueStone)回复于 2002-09-22 18:39:08 得分 0

to   programbcb  
   
  一条记录有12个月的水费额。。。。  
  Top

10 楼morningdew(蓝石-BlueStone)回复于 2002-09-22 18:39:28 得分 0

实在不行的话,,,,我就加一个字段得了。。唉!Top

11 楼sdcgx(醒目仔)回复于 2002-09-22 18:43:28 得分 0

在sql中加   1   as   flag  
   
  之后的flag字段你就可以任意处理Top

12 楼inalover(奇遇)回复于 2002-09-22 18:45:17 得分 10

是一个数据窗口么?那可以按年分组呀  
  分组后用sum(shuifei   for   group   1)Top

13 楼pborvb(高举PB伟大旗帜)回复于 2002-09-22 20:01:16 得分 0

to     morningdew   (晓峰)   :  
    你在做自来水公司的水费系统吗?我也做,而且已运行,有兴趣交流吗?Top

14 楼morningdew(蓝石-BlueStone)回复于 2002-09-28 21:56:14 得分 0

to   pborvb  
   
   
  好的。。。常联系。  
   
  QQ:85554108  
  MSN:bluestonemds@21cn.com  
  E-mail:   bluestonemds@21cn.com  
   
  Top

相关问题

  • 怎样对 Summary 区的计算字段赋值 ?
  • TADOQuery中增加一计算字段后,append,然后用fieldbyname()给一key字段赋值,会出现错误
  • 字段赋值的问题
  • 怎么对计算域赋值?
  • 如何给日期型字段赋值
  • 怎样给一个字段赋值?
  • 如何给image字段赋值?
  • 字段赋值问题!!很急~~~~
  • 日期型字段怎么赋值??
  • PreparedStatement里的char字段怎么赋值?

关键词

  • 字段
  • 数据
  • sql
  • 代码
  • 赋值
  • 计算
  • 水费
  • shuifei
  • 数据窗口
  • sumshuifei

得分解答快速导航

  • 帖主:morningdew
  • inalover
  • inalover

相关链接

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

广告也精彩

反馈

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