Foxtable(狐表)用户栏目专家坐堂 → 动态绑定副表列设置格式


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

主题:动态绑定副表列设置格式

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
动态绑定副表列设置格式  发帖心情 Post By:2018/8/8 23:55:00 [显示全部帖子]

Tables("标录分析_Table01")是动态绑定的副表,下面代码只能整列设置,但我的需求是其中一列中小于1的值设置格式“0.00%”,大于1的值设置格式“0.00”,但动态绑定的副表没有drawcell事件,如何处理??谢谢


Dim tb1 As Table = Tables("标录分析_Table01")
Dim r As Row = tb1.Current
'For Each r As Row In tb1.Rows
    For Each cl As Col In tb1.Cols
        If cl.IsNumeric Then
            If r(cl.Name) <= 1 Then
                tb1.Cols(cl.Name).DataCol.SetFormat("0.00%")
            End If
            If r(cl.Name) > 1 Then
                tb1.Cols(cl.Name).DataCol.SetFormat("0.00")
            End If
        End If
    Next
'Next

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/8/9 13:29:00 [显示全部帖子]

老师还是不对,

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




图片点击可在新窗口打开查看此主题相关图片如下:qq浏览器截图20180809132920.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/8/9 15:01:00 [显示全部帖子]

老师还是不对,我的需求是一列中小于1的值设置格式“0.00%”,大于1的值设置格式“0.00”
下面代码出错:

Dim tb1 As Table = Tables("窗口1_Table1")
For Each r As Row In tb1.Rows
    For Each cl As Col In tb1.Cols
        If cl.IsNumeric Then
            If r(cl.Name) <= 1 Then
                r(cl.Name) = Format(r(cl.Name),"0.00%")
            Else
                r(cl.Name) = Format(r(cl.Name),"0.00")
            End If
        End If
    Next
Next

错误提示:
.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.7.23.1
错误所在事件:窗口,窗口1,Button1,Click
详细错误信息:
类型不匹配。


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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/8/9 22:50:00 [显示全部帖子]

老师:
如果把其中一个数据类型改为整数型时,就出现错误,如何处理?

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.7.9.1
错误所在事件:全局表事件,DrawCell
详细错误信息:
调用的目标发生了异常。
从字符串“”到类型“Double”的转换无效。
输入字符串的格式不正确。

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/8/11 17:05:00 [显示全部帖子]

老师你好:
1、我在全局表事件中:

'''''========标录分析中动态加载表单元格格式设置=========
If e.Table.Name = "标录分析_Table01" Then
    If e.Col.IsNumeric AndAlso e.Col.Name <> "中标球号" AndAlso e.Col.Name <> "公司球号" AndAlso e.Col.Name <> "投标家数" Then
        If Val(e.Text) = 0 Then
        e.Text = Nothing
        Else
        If Val(e.Text) <= 1 Then
            e.Text = Format(Val(e.Text), "0.00%")
        Else
            e.Text = Format(Val(e.Text), "0")
        End If
        End If
    End If
End If

2、在窗口按钮中写入:
'自动取消窗口表中空值列的隐藏
With Tables("标录分析_Table01")
    For Each cl As Col In .Cols
        cl.Visible = True
    Next
    For Each c2 As Col In .Cols
        Dim p As Integer = .FindRow(c2.Name & " Is Not Null")
        If P = -1 Then
            c2.Visible = False
        End If
    Next
End With

问题是窗口按钮没有删除空值列,如何处理?


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



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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/8/11 18:43:00 [显示全部帖子]

老师出错了


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


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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/8/11 18:52:00 [显示全部帖子]

老师代码改下面这样,不出错了,但还是不能删除空白列,注意这个tb1是临时表

With tb1
    For Each c2 As Col In .Cols
        Dim dr As DataRow = .DataTable.Find(c2.Name & " Is Not Null or " & c2.Name & " = 0")
        c2.Visible = dr IsNot Nothing
    Next
End With
[此贴子已经被作者于2018/8/11 19:08:39编辑过]

 回到顶部