以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  专业报表数字千位符显示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=137234)

--  作者:fubblyc
--  发布时间:2019/7/1 15:32:00
--  专业报表数字千位符显示
老师,FT的表格里有千位符,
那做的报表没有这样显示,要怎么处理呢?

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190701153056.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2019/7/1 16:08:00
--  

1、如果是excel、word等报表

 

http://www.foxtable.com/webhelp/topics/2884.htm

 

2、如果是专业报表等,你赋值的时候,直接处理即可


--  作者:yd0731
--  发布时间:2019/7/1 16:11:00
--  
如果是在table里面呢,使用format进行格式化,好像不起作用
--  作者:fubblyc
--  发布时间:2019/7/1 16:21:00
--  
2、如果是专业报表等,你赋值的时候,直接处理即可

老师,是专业报表,要怎么直接处理呢?

For c As Integer = 0 To ColNames.Length - 1 \'逐列设置和填入内容
    rt.Cells(0,c).Text = ColNames(c) \'列名作为标题
    rt.Cells(0,c).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'标题内容水平居中
    rt.Cols(c).Width = tb.Cols(ColNames(c)).PrintWidth \'列宽等于实际列宽
    If tb.Cols(ColNames(c)).IsNumeric OrElse tb.Cols(ColNames(c)).IsDate Then \'如果是数值或日期列
        rt.Cols(c).Style.TextAlignHorz = prt.AlignHorzEnum.Right \'数据水平靠右
    End If
    For r As Integer = 0 To tb.Rows.Count -1 \'开始填入该列内容
        If tb.Rows(r)(ColNames(c)) <> "0" Then
            rt.Cells(r + 1, c).Text = tb.Rows(r)(ColNames(c))  是在这里处理吗?怎么加呢?
        End If

        If tb.Rows(r)("项目").StartsWith("一") Or tb.Rows(r)("项目").StartsWith("二") Or tb.Rows(r)("项目").StartsWith("三") Or tb.Rows(r)("项目").StartsWith("四")  Then
            rt.Cells(r + 1, c).Style.BackColor = Color.LightGray
            rt.Cells(r + 1, c).Style.FontBold = True
        End If        
    Next
Next


--  作者:有点甜
--  发布时间:2019/7/1 16:33:00
--  
以下是引用yd0731在2019/7/1 16:11:00的发言:
如果是在table里面呢,使用format进行格式化,好像不起作用

 

http://www.foxtable.com/webhelp/topics/2046.htm

 

 


--  作者:有点甜
--  发布时间:2019/7/1 16:34:00
--  
以下是引用fubblyc在2019/7/1 16:21:00的发言:
2、如果是专业报表等,你赋值的时候,直接处理即可

老师,是专业报表,要怎么直接处理呢?

For c As Integer = 0 To ColNames.Length - 1 \'逐列设置和填入内容
    rt.Cells(0,c).Text = ColNames(c) \'列名作为标题
    rt.Cells(0,c).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'标题内容水平居中
    rt.Cols(c).Width = tb.Cols(ColNames(c)).PrintWidth \'列宽等于实际列宽
    If tb.Cols(ColNames(c)).IsNumeric OrElse tb.Cols(ColNames(c)).IsDate Then \'如果是数值或日期列
        rt.Cols(c).Style.TextAlignHorz = prt.AlignHorzEnum.Right \'数据水平靠右
    End If
    For r As Integer = 0 To tb.Rows.Count -1 \'开始填入该列内容
        If tb.Rows(r)(ColNames(c)) <> "0" Then
            rt.Cells(r + 1, c).Text = tb.Rows(r)(ColNames(c))  是在这里处理吗?怎么加呢?
        End If

        If tb.Rows(r)("项目").StartsWith("一") Or tb.Rows(r)("项目").StartsWith("二") Or tb.Rows(r)("项目").StartsWith("三") Or tb.Rows(r)("项目").StartsWith("四")  Then
            rt.Cells(r + 1, c).Style.BackColor = Color.LightGray
            rt.Cells(r + 1, c).Style.FontBold = True
        End If        
    Next
Next

 

rt.Cells(r + 1, c).Text = Format(tb.Rows(r)(ColNames(c)), "#,###")


--  作者:fubblyc
--  发布时间:2019/7/2 8:04:00
--  
哎,原来是这样。

谢谢甜老师!!!!