Foxtable(狐表)用户栏目专家坐堂 → 如何格式化表格数据?


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

主题:如何格式化表格数据?

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


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
如何格式化表格数据?  发帖心情 Post By:2019/9/24 15:53:00 [只看该作者]

列表格中的如果为数字,可以用如下代码格式化:
If e.DataCol.Name = "盒号"  Then
    If e.DataRow("盒号") IsNot Nothing  Then
        e.DataRow("盒号") = Format(val(e.DataRow("盒号")), "0000")
    End If
End If

但特殊情况下需要加字母,类似下面。如何写代码呢?
数据       格式化数据
1     →     0001
2      →    0002
3      →    0003
4A      →    004A
4B      →     004B
5      →    0005


[此贴子已经被作者于2019/9/24 15:53:07编辑过]

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


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

If e.DataCol.Name = "盒号"  Then
    If e.DataRow("盒号") IsNot Nothing  Then
dim i as integer = val(e.DataRow("盒号"))
if i > 0 then
        e.DataRow("盒号") = Format(i, "0000")
else
e.DataRow("盒号") = e.DataRow("盒号").PadLeft(4,"0")
end if
    End If
End If

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


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2019/9/24 17:03:00 [只看该作者]

这段代码存在漏洞,如果全是字母没问题,如果类似“数字+字母”(如2A),是不行的。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:高亮查询.table



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


加好友 发短信
等级:超级版主 帖子:106536 积分:541839 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/24 17:29:00 [只看该作者]

If e.DataCol.Name = "盒号"  Then
    If e.DataRow("盒号") IsNot Nothing  Then
        Dim i As Integer
        If Integer.TryParse(e.DataRow("盒号"),i)Then
            e.DataRow("盒号") = Format(i, "0000")
        Else
            e.DataRow("盒号") = e.DataRow("盒号").PadLeft(4,"0")
        End If
    End If
End If

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


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2019/9/24 17:40:00 [只看该作者]

版主业务精熟,令人佩服;服务及时到位,让人赞叹!

 回到顶部