以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]为什么这段代码有错?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32697)

--  作者:lyzhuo
--  发布时间:2013/5/6 19:11:00
--  [求助]为什么这段代码有错?

 Dim ra As New prt.RenderText
        ra.DataBinding.DataSource = "tb"
        If c=2 Then
            ra.Text= "[Format(Fields!本月发生额.Value,""###,###0.00"")]"
            rt.cells(r+3,c).text = ra.Text
        Else If c=3 Then
            ra.Text= "[Format(Fields!本年累计.Value,""###,###,##0.00"")]"
            rt.cells(r+3,c).text = ra.Text
        Else
            rt.cells(r+3,c).text = tb(r,c)
        End If

没有提示出错,但是没达到效果,生成的报表显示的是:[Format(Fields!本年累计.Value,""###,###,##0.00"")]


--  作者:Bin
--  发布时间:2013/5/7 8:34:00
--  
你引号问题.  ra.Text= [Format(Fields!本年累计.Value,"###,###,##0.00")]  
像你那样用双引号包起来.系统就把它当作字符串处理了.

--  作者:lyzhuo
--  发布时间:2013/5/7 10:15:00
--  

这个试了还真不能去掉引号,就是不知道用这样的的循环生成数据对不对


--  作者:lyzhuo
--  发布时间:2013/5/7 10:16:00
--  

示例代码里也没有这样的例子,有点不是太明白的是为什么这么多的对象都可以直接设置格式,而表格是最常用的对象,为什么没有设置显示格式的功能?


--  作者:Bin
--  发布时间:2013/5/7 10:19:00
--  
ra.Text= "[Format(Fields!本年累计.Value,\'###,###,##0.00\')]"
试试看.

--  作者:lyzhuo
--  发布时间:2013/5/7 10:25:00
--  

其实我觉得错不在于这段代码,我把Format的格式去掉后,就没有显示任何数据:ra.Text= "[Fields!本年累计.Value]",

可见是这段代码里就根本没有数据。


--  作者:lyzhuo
--  发布时间:2013/5/7 10:57:00
--  
看来弄了半天还是白弄了,改成Excel报表吧。
--  作者:lyzhuo
--  发布时间:2013/5/9 7:07:00
--  
是不是,ra的数据源没置有问题?
--  作者:lyzhuo
--  发布时间:2013/5/9 15:43:00
--  

购买了一个开发版,怎么提问一个问题,就是没人回答。

最近自己找到方法了:

 应该用这段代码: rt.cells(r+3,c).text = Format(tb(r,c),"###,###,##0.00")

 

建议发布一些类似的问题写入帮助文档。