【InfoPath应用场景:库存管理】在InfoPath Form Service利用WSS Web Service技术,通过VSTA代码把复杂表单写入SharePoint列表数据库的后继
2009-03-05 14:42
1341 查看
http://blog.lickies.cn/DocLib/[%20InfoPath应用场景:库存管理%20]%20在InfoPath%20Form%20Service利用WSS%20Web%20Service技术,通过VSTA代码把复杂表单写入SharePoint列表数据库%20(一).aspx
后继处理删除表单表单操作:
首先创建ConsoleApplication1项目
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
namespace Eallies.EventHandler.Register
{
public class Program
{
static void Main(string[] args)
{
SPSite site = new SPSite("http://fileserver/");
SPList list = site.OpenWeb("/Docs").Lists["修改建议文档"];
list.EventReceivers.Add(SPEventReceiverType.ItemDeleted, "Eallies.EventHandler.SP2007, Version=1.0.0.0, Culture=neutral, PublicKeyToken=24da4dca5bdd679d", "Eallies.EventHandler.SP2007.ListHandler");
list.EventReceivers.Add(SPEventReceiverType.ItemDeleting, "Eallies.EventHandler.SP2007, Version=1.0.0.0, Culture=neutral, PublicKeyToken=24da4dca5bdd679d", "Eallies.EventHandler.SP2007.ListHandler");
}
}
}
创建Eallies.EventHandler.SP2007项目
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
namespace Eallies.EventHandler.SP2007
{
public class ListHandler : SPItemEventReceiver
{
public static string szGlogal;
public override void ItemDeleting(SPItemEventProperties properties)
{
string NameField = properties.OpenWeb().Lists[properties.ListId].Fields.GetField("建议编号").InternalName;
string NameValue = properties.ListItem[NameField].ToString();
szGlogal = NameValue;
}
public override void ItemDeleted(SPItemEventProperties properties)
{
SPSite site = new SPSite("http://fileserver"/);
SPList list = site.OpenWeb("/Docs").Lists["修改建议数据"];
string QueryText = "<Where><Eq><FieldRef Name='" + list.Fields["建议编号"].InternalName + "'/><Value Type='Text'>"
+ szGlogal + "</Value></Eq></Where>";
SPQuery myQ = new SPQuery();
myQ.Query = QueryText;
SPListItemCollection items = list.GetItems(myQ);
int total = items.Count;
for (int i = total - 1; i >= 0; i--)
items.Delete(i);
}
}
}
ok, 特别指出最后循环一定要从大到小,时分关键,就是因为这个问题让我折腾了好久,慢慢理解其中理由.慢慢调试应该没问题.
后继处理删除表单表单操作:
首先创建ConsoleApplication1项目
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
namespace Eallies.EventHandler.Register
{
public class Program
{
static void Main(string[] args)
{
SPSite site = new SPSite("http://fileserver/");
SPList list = site.OpenWeb("/Docs").Lists["修改建议文档"];
list.EventReceivers.Add(SPEventReceiverType.ItemDeleted, "Eallies.EventHandler.SP2007, Version=1.0.0.0, Culture=neutral, PublicKeyToken=24da4dca5bdd679d", "Eallies.EventHandler.SP2007.ListHandler");
list.EventReceivers.Add(SPEventReceiverType.ItemDeleting, "Eallies.EventHandler.SP2007, Version=1.0.0.0, Culture=neutral, PublicKeyToken=24da4dca5bdd679d", "Eallies.EventHandler.SP2007.ListHandler");
}
}
}
创建Eallies.EventHandler.SP2007项目
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
namespace Eallies.EventHandler.SP2007
{
public class ListHandler : SPItemEventReceiver
{
public static string szGlogal;
public override void ItemDeleting(SPItemEventProperties properties)
{
string NameField = properties.OpenWeb().Lists[properties.ListId].Fields.GetField("建议编号").InternalName;
string NameValue = properties.ListItem[NameField].ToString();
szGlogal = NameValue;
}
public override void ItemDeleted(SPItemEventProperties properties)
{
SPSite site = new SPSite("http://fileserver"/);
SPList list = site.OpenWeb("/Docs").Lists["修改建议数据"];
string QueryText = "<Where><Eq><FieldRef Name='" + list.Fields["建议编号"].InternalName + "'/><Value Type='Text'>"
+ szGlogal + "</Value></Eq></Where>";
SPQuery myQ = new SPQuery();
myQ.Query = QueryText;
SPListItemCollection items = list.GetItems(myQ);
int total = items.Count;
for (int i = total - 1; i >= 0; i--)
items.Delete(i);
}
}
}
ok, 特别指出最后循环一定要从大到小,时分关键,就是因为这个问题让我折腾了好久,慢慢理解其中理由.慢慢调试应该没问题.
相关文章推荐
- [ InfoPath应用场景:库存管理 ] 在InfoPath Form Service利用WSS Web Service技术,通过VSTA代码把复杂表单写入SharePoint列表数据库 (二)
- [ InfoPath应用场景:库存管理 ] 在InfoPath Form Service利用WSS Web Service技术,通过VSTA代码把复杂表单写入SharePoint列表数据库 (一)
- 在Infopath Form Service利用WSS Web Service技术通过VSTA代码把复杂表单写入SharePoint列表数据库
- 在SharePoint中无代码开发InfoPath应用: 一个测试Web Service的工具
- [SharePoint 2010– InfoPath]通过REST Web Service在表单中嵌入地图
- SAE 平台代码实现数据库定时备份以及同步到本地 2014/09/11 09:39:01 分类: 技术随笔 1人评论 次浏览 SAE 只允许用户通过phpMyAdmin管理远程数据库,
- [SharePoint 2010 的那些事儿 – InfoPath]通过REST Web Service在表单中嵌入地图
- 给InfoPath添加VSTA托管代码并从SharePoint列表查询数据 (转)
- 在InfoPath中利用SharePoint的Lists Web Service向列表提交数据
- 在SharePoint中无代码开发InfoPath应用: 一个测试Web Service的工具
- 给InfoPath添加VSTA托管代码并从SharePoint列表查询数据
- InfoPath进阶之二:给InfoPath添加VSTA托管代码并从SharePoint列表查询数据
- 在InfoPath中利用SharePoint的Lists Web Service向列表提交数据(续一)
- Oracle442个应用场景-----------数据库逻辑对象管理 应用场景
- 微信小程序示会话管理应用场景例利用腾讯云仅限开发案例三
- 应用托管在SAE,不登录也能通过 phpmyadmin 管理数据库
- SharePoint2013打开管理表单模版 页面InfoPath 表单库的表单 (SharePoint 2013)
- Ngnix技术研究系列1-通过应用场景看Nginx的反向代理
- WSS页面定制系列(4)--利用SmartForm和用户控件定制表单页面
- 求php高手提供一段提交表单,并写入数据库 zhaoshang 里面的 shenqing 表中的代码,谢谢~!