Foxtable(狐表)用户栏目专家坐堂 → [求助]自定义样式


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

主题:[求助]自定义样式

帅哥哟,离线,有人找我吗?
苏州老街
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:644 积分:4124 威望:0 精华:0 注册:2016/10/19 16:45:00
[求助]自定义样式  发帖心情 Post By:2017/4/15 21:51:00 [只看该作者]

老师,如果金额列是负数逻辑列就显示借,如果金额列是整数逻辑列就显示贷。谢谢。

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/16 9:27:00 [只看该作者]

首先、设置逻辑列的格式

其次,逻辑列如果是表达式

IIF([金额] > 0,true,false)

如果是代码.

DataColChanged事件

If e.DataCol.Name = "金额" Then
    e.DataRow("逻辑列") = IIF(e.NewValue > 0,True,False)
End If

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


加好友 发短信
等级:三尾狐 帖子:644 积分:4124 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2017/4/16 11:25:00 [只看该作者]

谢谢老师,星期天也来麻烦你,太感谢了!。
 我有一个表的代码有修改好多处,以前下载的农行数据支出列和收入列是分开的,现在合并成一列(交易金额)收入是整数支出是负数。现在想要老师帮我修改代码。

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/16 11:43:00 [只看该作者]

代码呢?在哪?我拿什么来改?

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


加好友 发短信
等级:三尾狐 帖子:644 积分:4124 威望:0 精华:0 注册:2016/10/19 16:45:00
  发帖心情 Post By:2017/4/16 12:27:00 [只看该作者]

老师,下面的收入金额和支出金额列合并成交易金额列了,交易金额列数据用正负数来显示的。


'Select Case e.DataCol.Name
   ' Case "方向","收入金额","支出金额"
       ' Dim drs As List(of DataRow)
       ' Dim Filter As String
        'Filter = "[_Identify] >= " & e.DataRow("_Identify") & " And [方向] = '" & e.DataRow("方向") & "'"
        'drs = e.DataTable.Select(Filter)
        
       ' For i As Integer = 0 To drs.Count - 1
           ' Dim dr = drs(i)
           ' If i = drs.Count - 1 Then
               ' Filter = "[_Identify] <= " & dr("_Identify") & " And [方向] = '" & dr("方向") & "'"
               ' Dim Val1 As Double = e.DataTable.Compute("Sum(收入金额)",Filter)
              '  Dim Val2 As Double = e.DataTable.Compute("Sum(支出金额)",Filter)
                
               ' dr("累计收入") = Val1
              '  dr("累计支出") = Val2
           ' Else
              '  dr("累计收入") = Nothing
               ' dr("累计支出") = Nothing
           ' End If
        'Next
        'If e.DataCol.Name = "方向" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
           ' Filter = "[_Identify] > " & e.DataRow("_Identify") & " And [方向] = '" & e.OldValue & "'"
           ' drs = e.DataTable.Select(Filter)
           ' For i As Integer = 0 To drs.Count - 1
              '  Dim dr = drs(i)
              '  If i = drs.Count - 1 Then
                  '  Filter = "[_Identify] <= " & dr("_Identify") & " And [方向] = '" & dr("方向") & "'"
                  '  Dim Val1 As Double = e.DataTable.Compute("Sum(收入金额)",Filter)
                  '  Dim Val2 As Double = e.DataTable.Compute("Sum(支出金额)",Filter)
                    
                   ' dr("累计收入") = Val1
                   ' dr("累计支出") = Val2
               ' Else
                   ' dr("累计收入") = Nothing
                   ' dr("累计支出") = Nothing
              '  End If
           ' Next
       ' End If
      ' Dim dr2 As DataRow = e.DataTable.Find("方向 is not null","[_Identify] desc")
      '  Dim V1 = e.DataTable.Compute("Sum(累计收入)","累计收入 > 0")
       ' Dim V2 = e.DataTable.Compute("Sum(累计支出)","累计支出 > 0")
       ' e.DataTable.ReplaceFor("余额", Nothing)
       ' dr2("余额") = V1 - V2       
'End Select

[此贴子已经被作者于2017/4/16 12:31:06编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/16 13:34:00 [只看该作者]

设置逻辑列的格式:http://www.foxtable.com/webhelp/scr/1306.htm

Select Case e.DataCol.Name
    Case "方向","交易金额"
        Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[_Identify] >= " & e.DataRow("_Identify") & " And [方向] = '" & e.DataRow("方向") & "'"
        drs = e.DataTable.Select(Filter)
        
        For i As Integer = 0 To drs.Count - 1
            Dim dr = drs(i)
            If i = drs.Count - 1 Then
                Filter = "[_Identify] <= " & dr("_Identify") & " And [方向] = '" & dr("方向") & "'"
                Dim Val1 As Double = e.DataTable.Compute("Sum(交易金额)",Filter)
                dr("余额") = Val1
            Else
                dr("余额") = Nothing
            End If
        Next
        If e.DataCol.Name = "方向" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Filter = "[_Identify] > " & e.DataRow("_Identify") & " And [方向] = '" & e.OldValue & "'"
            drs = e.DataTable.Select(Filter)
            For i As Integer = 0 To drs.Count - 1
                Dim dr = drs(i)
                If i = drs.Count - 1 Then
                    Filter = "[_Identify] <= " & dr("_Identify") & " And [方向] = '" & dr("方向") & "'"
                    Dim Val1 As Double = e.DataTable.Compute("Sum(交易金额)",Filter)
                    dr("余额") = Val1
                Else
                    dr("余额") = Nothing
                End If
            Next
        End If
End Select


 回到顶部