Foxtable(狐表)用户栏目专家坐堂 → 请教str与cstr函数的区别


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

主题:请教str与cstr函数的区别

帅哥哟,离线,有人找我吗?
大红袍
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/10 11:18:00 [只看该作者]

例子说明


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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/11/10 11:25:00 [只看该作者]

drawcell事件中的代码,哪里有错误劳驾审定一下。如何达到我说的效果?

If e.Row(e.Table.Cols(0).name) = "合计" Then
            e.Style = "abc"
            
            For n As Integer = 0 To e.Row.Index -1
                r = e.Table.Rows(n)
                If r(e.Table.Cols(0).name) <> "合计" Then
                    
                    For i As Integer = 1 To sum.length - 1
                        Dim  d1 As Double
                        
                        If cstr(r(Vars("fzToTal")(i))).contains("%") = False  Then
                            If Double.TryParse(r(Vars("fzToTal")(i)),d1) Then
                                sum(i) += val(d1)
                                If Format(val(sum(i)),"n") <> 0 And Format(val(sum(i)),"n") <> "0" And Format(val(sum(i)),"n") IsNot Nothing  Then
                                    e.Row(Vars("fzToTal")(i)) = Format(val(sum(i)),"n")
                                Else
                                    e.Row(Vars("fzToTal")(i)) = Nothing
                                End If
                                '
                                
                            End If
                        Else
                            If Double.TryParse(r(Vars("fzToTal")(i)).replace("%",""),d1) Then
                                sum(i) += val(d1)/100
                                If Format(val(sum(i)),"n") <> 0 And Format(val(sum(i)),"n") <> "0" And Format(val(sum(i)),"n") IsNot Nothing  Then
                                    
                                    e.Row(Vars("fzToTal")(i)) = Format(sum(i),"Percent")
                                Else
                                    e.Row(Vars("fzToTal")(i)) = Nothing
                                End If
                                
                            End If
                            
                        End If
                    Next
                    
                End If
            Next
            
            
        End If


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/10 11:39:00 [只看该作者]

测试没问题啊

 

Dim r As Row
Vars("fzToTal") = new List(Of String)
Vars("fzToTal").add("第三列")
Vars("fzToTal").add("第二列")
Dim sum(Vars("fzToTal").Count-1) As Double

If e.Row(e.Table.Cols(0).name) = "合计" Then
    e.Style = "abc"
   
    For n As Integer = 0 To e.Row.Index -1
        r = e.Table.Rows(n)
        If r(e.Table.Cols(0).name) <> "合计" Then
           
            For i As Integer = 0 To sum.length - 1
                Dim  d1 As Double
               
                If cstr(r(Vars("fzToTal")(i))).contains("%") = False  Then
                    If Double.TryParse(r(Vars("fzToTal")(i)),d1) Then
                        sum(i) += val(d1)
                        If Format(val(sum(i)),"n") <> 0 And Format(val(sum(i)),"n") <> "0" And Format(val(sum(i)),"n") IsNot Nothing  Then
                            e.Row(Vars("fzToTal")(i)) = Format(val(sum(i)),"n")
                        Else
                            e.Row(Vars("fzToTal")(i)) = Nothing
                        End If
                        '
                       
                    End If
                Else
                    If Double.TryParse(r(Vars("fzToTal")(i)).replace("%",""),d1) Then
                        sum(i) += val(d1)/100
                        If Format(val(sum(i)),"n") <> 0 And Format(val(sum(i)),"n") <> "0" And Format(val(sum(i)),"n") IsNot Nothing  Then
                           
                            e.Row(Vars("fzToTal")(i)) = Format(sum(i),"Percent")
                        Else
                            e.Row(Vars("fzToTal")(i)) = Nothing
                        End If
                       
                    End If
                   
                End If
            Next
           
        End If
    Next
   
   
End If


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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/11/10 11:45:00 [只看该作者]

改动的是哪一行?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/10 11:45:00 [只看该作者]

没有改动啊。

 

做例子上说明问题。


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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/11/10 11:48:00 [只看该作者]

那鬼从何来?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/10 11:50:00 [只看该作者]

上传实例

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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/11/10 12:07:00 [只看该作者]

就上面的代码,如果能即时显示%,删除的时候,合计行就不删除了?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/10 12:18:00 [只看该作者]

Dim r As Row
Vars("fzToTal") = new List(Of String)
Vars("fzToTal").add("第三列")
Vars("fzToTal").add("第二列")
Dim sum(Vars("fzToTal").Count-1) As Double

If e.Row(e.Table.Cols(0).name) = "合计" Then
    e.Style = "abc"
   
    For n As Integer = 0 To e.Row.Index -1
        r = e.Table.Rows(n)
        If r(e.Table.Cols(0).name) <> "合计" Then
           
            For i As Integer = 0 To sum.length - 1
                Dim  d1 As Double
               
                If cstr(r(Vars("fzToTal")(i))).contains("%") = False  Then
                    If Double.TryParse(r(Vars("fzToTal")(i)),d1) Then
                        sum(i) += val(d1)
                        If Format(val(sum(i)),"n") <> 0 And Format(val(sum(i)),"n") <> "0" And Format(val(sum(i)),"n") IsNot Nothing  Then
                            e.Row(Vars("fzToTal")(i)) = Format(val(sum(i)),"n")
                        Else
                            e.Row(Vars("fzToTal")(i)) = Nothing
                        End If
                    Else
                        e.Row(Vars("fzToTal")(i)) = Format(val(sum(i)),"n")
                    End If
                Else
                    If Double.TryParse(r(Vars("fzToTal")(i)).replace("%",""),d1) Then
                        sum(i) += val(d1)/100
                        If Format(val(sum(i)),"n") <> 0 And Format(val(sum(i)),"n") <> "0" And Format(val(sum(i)),"n") IsNot Nothing  Then
                           
                            e.Row(Vars("fzToTal")(i)) = Format(sum(i),"Percent")
                        Else
                            e.Row(Vars("fzToTal")(i)) = Nothing
                        End If
                    Else
                        e.Row(Vars("fzToTal")(i)) = Format(sum(i),"Percent")
                    End If
                   
                End If
            Next
           
        End If
    Next
   
   
End If


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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/11/10 12:40:00 [只看该作者]

这样不就是我说的目前效果吗,合计行显示的是小数吗?不动态显示%。

 回到顶部
总数 21 上一页 1 2 3 下一页