博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在SharePoint列表中使用自增栏
阅读量:4521 次
发布时间:2019-06-08

本文共 1863 字,大约阅读时间需要 6 分钟。

问:sps2010里能不能新建个栏,数字型的,自动加一

答:在SharePoint里,有很多方法可以实现一个自增栏。在这里,我将介绍其中两种方式。

1、计算栏

2、列表项事件接收器

1、采用计算栏来实现:

这是最最简单的方法。这样无需编写任何代码就可以实现一个自增栏。我们只需要创建一个栏,栏类型选择计算值(基于其他栏的计算)。然后在公式一节,输入[ID]。

事实上,我们是取SharePoint内置的ID字段,该字段是从1开始的。

如果你想从100开始自增1,那么你可以修改公式为[ID]+99就可以了。

 

2、使用列表项事件接收器来实现:

当然如果通过代码实现就更地道了。这样的好处是可以允许用户编辑已生成的值。当然我们也可以可以写代码通过Feature的激活和关闭来控制该字段的可见性,只读性等。通过列表项事件接收器,在ItemAdded事件上,我们可以查找之前添加的项中的最大值,然后自增后将值存到当前新添加的项对应的自增栏上。

代码参考:

public override void ItemAdded(SPItemEventProperties properties)        {            SPWeb web = properties.OpenWeb();            bool allowUpdates = web.AllowUnsafeUpdates; //store original value            this.EventFiringEnabled = false;             try            {                web.AllowUnsafeUpdates = true;                /*获取列表*/                SPList list = web.Lists[properties.ListId];                var highestvalue = 0;                var objQuery = new SPQuery                                   {                                       Query ="
1
", Folder = list.RootFolder }; SPListItemCollection colItems = list.GetItems(objQuery); if (colItems.Count > 0) { highestvalue = int.Parse(colItems[0][ColumnName].ToString()); } var currItem = properties.ListItem; currItem[ColumnName] = highestvalue + 1; currItem.SystemUpdate(false); } catch (Exception ex) { Trace.WriteLine(ex.Message); } finally { this.EventFiringEnabled = true; web.AllowUnsafeUpdates = allowUpdates; //恢复原值 } }

祝,工作开心!

 

参考资料

转载于:https://www.cnblogs.com/Sunmoonfire/p/3493246.html

你可能感兴趣的文章
这些年正Android - 母亲
查看>>
iOS 10中如何搭建一个语音转文字框架
查看>>
springmvc配置接口返回的数据是json
查看>>
【转】Android低功耗蓝牙应用开发获取的服务UUID
查看>>
【转】java提高篇(二三)-----HashMap
查看>>
第一个只出现一次的字符
查看>>
多个视图控制器的返回
查看>>
Codeforces Round #451 Div. 2 C D E
查看>>
快速构建编辑类型弹出窗口
查看>>
室外光缆结构
查看>>
【JZOJ3400】旅行
查看>>
第5.2次作业
查看>>
luoguP5108 仰望半月的夜空 [官方?]题解 后缀数组 / 后缀树 / 后缀自动机 + 线段树 / st表 + 二分...
查看>>
Mysql学习第一天
查看>>
031 oracle环境下的Start with...Connect By递归树查询
查看>>
深入浅出 Java Concurrency (17): 并发容器 part 2 ConcurrentMap (2)[转]
查看>>
【 HYSBZ - 2440 】完全平方数 (莫比乌斯函数容斥)
查看>>
最优矩阵链乘
查看>>
2012年软件大赛校内选拔赛
查看>>
2017 Java面试大全(一)
查看>>