Foxtable(狐表)用户栏目专家坐堂 → [求助]专业报表将份额和占比转换百分比?


  共有12097人关注过本帖树形打印复制链接

主题:[求助]专业报表将份额和占比转换百分比?

帅哥哟,离线,有人找我吗?
易服
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
[求助]专业报表将份额和占比转换百分比?  发帖心情 Post By:2011/3/7 11:11:00 [显示全部帖子]


此主题相关图片如下:2011-3-7 11-00-27.png
按此在新窗口浏览图片
 g.HorizontalProportion = True

 g.VerticalProportion = True


 回到顶部
帅哥哟,离线,有人找我吗?
易服
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2011/3/7 12:00:00 [显示全部帖子]

 这是个动态报表,不知怎么加  rx.Text = Format(r("列名"),"#0.00%")

 


图片点击可在新窗口打开查看此主题相关图片如下:2011-3-7 11-48-44.png
图片点击可在新窗口打开查看
 

 帖子内容长度不能大于16240,您已经输入了35319个字

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报表代码.txt

[此贴子已经被作者于2011-3-7 12:00:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
易服
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2011/3/7 17:49:00 [显示全部帖子]

以下是引用狐狸爸爸在2011-3-7 12:35:00的发言:
For Each Col AS DataCol In Dt.DataCols
    rt.Cells(0,Count).Text = Col.Caption
    For r As Integer = 0 To dt.DataRows.Count - 1
        If col.Name = "要百分比显示的列的名称" Then
            rt.Cells(r +1,Count).Text = Format(dt.DataRows(r)(Col.Name ),"#0.00%")
        Else
           rt.Cells(r +1,Count).Text = dt.DataRows(r)(Col.Name )
        End If
    Next
    Count = Count + 1
Next

试了多次不生效,不知是不是这样

用      If col.Name = "要百分比显示的列的名称" Then
            rt.Cells(r +1,Count).Text = Format(dt.DataRows(r)(Col.Name ),"#0.00%")
        Else
           rt.Cells(r +1,Count).Text = dt.DataRows(r)(Col.Name )
        End If
代换原 rt.Cells(r +1,Count).Text = dt.DataRows(r)(Col.Name )


 回到顶部
帅哥哟,离线,有人找我吗?
易服
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2011/3/8 15:47:00 [显示全部帖子]

不行的,  If col.Name = "林种" Then 或"林龄""登记权利""林分起源""面积"

都不会百分比显示。还请狐爸费心!


 回到顶部
帅哥哟,离线,有人找我吗?
易服
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2011/3/8 16:10:00 [显示全部帖子]

还是不行

For Each Col AS DataCol In Dt.DataCols
      rt.Cells(0,Count).Text = Col.Caption
      For r As Integer = 0 To dt.DataRows.Count - 1
            Select Col.Name
                   Case "林龄","登记权利" ,"林分起源" ,"林种"
                        rt.Cells(r +1,Count).Text = Format(dt.DataRows(r)(Col.Name ),"#0.00%")
                   Case Else
                        rt.Cells(r +1,Count).Text = dt.DataRows(r)(Col.Name )
             End Select
       Next
           Count = Count + 1
 Next


 回到顶部
帅哥哟,离线,有人找我吗?
易服
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2011/3/8 16:32:00 [显示全部帖子]

和原来一样,列名是由代码编辑器中字段中加入,不是表达式列名。

如果只加入rt.Cells(r +1,Count).Text = Format(dt.DataRows(r)(Col.Name ),"#0.00%")
则全部列都显示百分比,可能条件判断有问题。


图片点击可在新窗口打开查看此主题相关图片如下:2011-3-8 16-35-07.png
图片点击可在新窗口打开查看
 ' Select Col.Name
      '  Case "林龄","登记权利" ,"林分起源" ,"林种","面积","宗地序号"
           rt.Cells(r +1,Count).Text = Format(dt.DataRows(r)(Col.Name ),"#0.00%")
          '  Case Else
         '  rt.Cells(r +1,Count).Text = dt.DataRows(r)(Col.Name )
   ' End Select
[此贴子已经被作者于2011-3-8 16:41:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
易服
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2011/3/9 9:02:00 [显示全部帖子]

终于柳暗花明,原来是临时统计表的列名,不是来源表的列名。

If e.Form.Controls("RadioButton6").Checked Then
    Select Col.Name
        Case "面积_1hp","面积_1vp" ,"面积_2hp","面积_2vp","面积_3hp","面积_3vp","面积_4hp","面积_4vp" ,"面积_5hp","面积_5vp","面积_6hp","面积_6vp"
            rt.Cells(r +1,Count).Text = Format(dt.DataRows(r)(Col.Name ),"#0.00%")
        Case Else
            rt.Cells(r +1,Count).Text = dt.DataRows(r)(Col.Name )
    End Select
Else
    Select Col.Name
        Case "宗地序号_1hp","宗地序号_1vp" ,"宗地序号_2hp","宗地序号_2vp","宗地序号_3hp","宗地序号_3vp","宗地序号_4hp","宗地序号_4vp" ,"宗地序号_5hp","宗地序号_5vp","宗地序号_6hp","宗地序号_6vp"
            rt.Cells(r +1,Count).Text = Format(dt.DataRows(r)(Col.Name ),"#0.00%")
        Case Else
            rt.Cells(r +1,Count).Text = dt.DataRows(r)(Col.Name )
    End Select
End If


 回到顶部