以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何格式化表格数据? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141221) |
-- 作者:旭日生 -- 发布时间: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编辑过]
|
-- 作者:有点蓝 -- 发布时间: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
|
-- 作者:旭日生 -- 发布时间:2019/9/24 17:03:00 -- 这段代码存在漏洞,如果全是字母没问题,如果类似“数字+字母”(如2A),是不行的。 |
-- 作者:有点蓝 -- 发布时间: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 |
-- 作者:旭日生 -- 发布时间:2019/9/24 17:40:00 -- 版主业务精熟,令人佩服;服务及时到位,让人赞叹! |