如何通过Infopath2010编程方程向Sharepoint List提交数据 针对上一篇修改了一下,可以直接提交重复表里的数据到列表中,代码实现如下:
public void CTRL1_5_Clicked(object sender, ClickedEventArgs e)
{
// 在此处编写代码。
//using (SPSite site = SPContext.Current.Site)
using (SPSite site = new SPSite("http://bany-pc"))
{
if (site != null)
{
using (SPWeb web = site.OpenWeb())
{
// Turn on AllowUnsafeUpdates on the site
web.AllowUnsafeUpdates = true;
// Update the SharePoint list based on the values
// from the InfoPath form
SPList list = web.GetList("/Lists/List3/AllItems.aspx");
XPathNavigator root = this.CreateNavigator();
XPathNodeIterator NodeIter = this.MainDataSource.CreateNavigator().Select("/my:myFields/my:Group/my:Details", this.NamespaceManager);
if (list != null)
{
foreach (XPathNavigator myf in NodeIter)
{
SPListItem item = list.Items.Add();
item["部门"] = myf.SelectSingleNode("my:部门", NamespaceManager).Value;
item["单位"] = myf.SelectSingleNode("my:单位", NamespaceManager).Value;
item["姓名"] = myf.SelectSingleNode("my:姓名", NamespaceManager).Value;
item.Update();
}
}
// Turn off AllowUnsafeUpdates on the site
web.AllowUnsafeUpdates = false;
// Close the connection to the site
web.Close();
}
// Close the connection to the site collection
site.Close();
}
}