Foxtable(狐表)用户栏目专家坐堂 → 按顺序增加编号,


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

主题:按顺序增加编号,

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
按顺序增加编号,  发帖心情 Post By:2020/2/3 17:09:00 [只看该作者]

老师们 ,在表A 增加一行,然后 表A的第一列就在上一列编号上增加一个,格式就是GYS6  然后后面有6位编号,没增加一行,编号就在值最大上加1

比如 表没有行,增加一行,表a第一列就是 GYS6000001,
在增加一行,就是GYS6000002, 可以不通过在结构表达式吗?通过在表属性的datarowadding 或者其他的,感谢 感谢,主要是方便后面可以再次编辑。

'GYS6' + SubString('000000', 1, 4 - Len(Convert([_Identify],'System.String'))) + Convert([_Identify], 'System.String')
[此贴子已经被作者于2020/2/3 17:09:53编辑过]

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


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

datarowadding事件

Dim max As String = e.DataTable.compute("max(第一列)")
Dim idx As Integer
If max > "" Then '如果存在最大编号
    idx = CInt(max.Substring(4)) + 1 '获得最大编号的后三位顺序号,并加1
Else
    idx = 1 '否则顺序号等于1
End If
e.DataRow("第一列") ="GYS6" & Format(idx,"000000")

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/2/3 17:54:00 [只看该作者]

谢谢老师,感谢 

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/2/4 17:04:00 [只看该作者]

老师 能请教一下吗?就是当项目重启后通过代码生成的编号全部都不见了,这是什么原因呀?感谢 感谢 


谢谢老师 找到答案了  列的属性搞错了,感谢 了
[此贴子已经被作者于2020/2/4 17:16:09编辑过]

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


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

编号列不要使用表达式列,改为数据列。

 回到顶部