以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于输入格式的设置  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=58365)

--  作者:audience68
--  发布时间:2014/10/15 21:20:00
--  关于输入格式的设置
我的任务编号列要强制按照CI2014-10-001这种格式输入,即,在新增一行时,自动按照CI+年+月+流水号进行生成,不知该如何进行设置?请高手指教。
--  作者:有点甜
--  发布时间:2014/10/15 21:21:00
--  

 参考 http://www.foxtable.com/help/topics/2403.htm

 


--  作者:audience68
--  发布时间:2014/10/15 21:22:00
--  
通过掩码似乎不好实现,因为开头的CI是强制要求。
--  作者:有点甜
--  发布时间:2014/10/15 21:22:00
--  

 2楼,用代码。


--  作者:audience68
--  发布时间:2014/10/15 21:43:00
--  
甜版,问题是我没有时间列和字母列,希望直接就按照规定格式来生成任务编号列啊!
--  作者:有点甜
--  发布时间:2014/10/15 21:44:00
--  
 那你用当前时间?
--  作者:audience68
--  发布时间:2014/10/15 21:55:00
--  
是的,取当前的年和月份
--  作者:有点甜
--  发布时间:2014/10/15 21:58:00
--  

DateRowAdding事件,代码

 

Dim bh As String = "BH-" & Format(Date.Today, "yyyy-MM-")
Dim max As String = e.DataTable.Compute("max(第一列)", "第一列 like \'" & bh & "%\'")
Dim idx As Integer = 1
If max > "" Then
    idx = Cint(max.SubString(bh.Length)) + 1
Else
    idx = 1
End If

e.DataRow("第一列") = bh & format(idx, "0000")


--  作者:audience68
--  发布时间:2014/10/15 22:08:00
--  
甜版,感谢
已经初步实现了,细节我可以自己调整,祝晚安!