以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  代码哪错了?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48074)

--  作者:tj-pacer
--  发布时间:2014/3/22 15:24:00
--  代码哪错了?

以下代码在Datacolchanged报错

 

Dim dr As DataRow= e.DataRow ("两周需求")
Dim weeknum As Integer = DatePart("ww" , Date.Today)
e.DataRow("两周需求")=e.DataRow("Sum(W" & weeknum & ")")+e.DataRow("Sum(W" & weeknum + 1 & ")")

 

错在哪里?


--  作者:Bin
--  发布时间:2014/3/22 15:25:00
--  

[此贴子已经被作者于2014-3-22 15:25:50编辑过]

--  作者:Bin
--  发布时间:2014/3/22 15:26:00
--  
提示什么错误呢? 

是报错还是无法实现需求,需求是什么?

--  作者:lsy
--  发布时间:2014/3/22 15:35:00
--  

Dim dr As DataRow= e.DataRow
Dim weeknum As Integer = DatePart("ww" , Date.Today)
dr("两周需求") = dr("Sum(W" & weeknum & ")") + dr("Sum(W" & weeknum + 1 & ")")


--  作者:tj-pacer
--  发布时间:2014/3/22 15:37:00
--  

调用的目标发生了异常。
无法将类型为“System.Int32”的对象强制转换为类型“Foxtable.DataRow

 

想要计算两周的需求,每周是以W01, W02.....为表头的。


--  作者:Bin
--  发布时间:2014/3/22 15:39:00
--  
Dim dr As DataRow= e.DataRow


--  作者:lsy
--  发布时间:2014/3/22 15:47:00
--  
以下是引用tj-pacer在2014-3-22 15:37:00的发言:

调用的目标发生了异常。
无法将类型为“System.Int32”的对象强制转换为类型“Foxtable.DataRow

 

想要计算两周的需求,每周是以W01, W02.....为表头的。

改了这个,代码不变,能不出错?

一位数的时候,就与列名对不上了。

[此贴子已经被作者于2014-3-22 15:55:12编辑过]

--  作者:lsy
--  发布时间:2014/3/22 15:52:00
--  

Dim dr As DataRow= e.DataRow
Dim weeknum As String = CStr(DatePart("ww" , Date.Today)).PadLeft(2,"0")

dr("两周需求") = dr("Sum(W" & weeknum & ")") + dr("Sum(W" & weeknum + 1 & ")")


--  作者:don
--  发布时间:2014/3/22 17:20:00
--  
只有 DataTable 或 Table 有 Compute("Sum(XXX)"),从来不见Datarow有这个吧!
  


--  作者:lsy
--  发布时间:2014/3/22 17:52:00
--  
以下是引用don在2014-3-22 17:20:00的发言:
只有 DataTable 或 Table 有 Compute("Sum(XXX)"),从来不见Datarow有这个吧!
  

还真是,大意不得。