Я хочу скопировать данные из соединения sharepoint в локальную повторяющуюся таблицу, чтобы я мог изменить и повторно отправить данные.
Я искал статью ниже, которая, кажется, описывает то, что мне требуется:
http://www.bizsupportonline.net/infopath2007/copy-rows-from-sharepoint-list-to-main-data-source.htm
Я не знаком с C #, поэтому мне нужна помощь по коду, так как верхняя таблица должна соответствовать нижней таблице в предварительном просмотре
Заранее спасибо
Скриншот формы Infopath
Скриншот вторичного соединения
Предварительный просмотр формы после нажатия кнопки
код C #, связанный с кнопкой
private void AddItem (заголовок строки, идентификатор строки)
{
XmlDocument doc = new XmlDocument ();
XmlNode group = doc.CreateElement ("group2",
NamespaceManager.LookupNamespace ( "мой"));
XmlNode field = doc.CreateElement("field1",
NamespaceManager.LookupNamespace("my"));
XmlNode node = group.AppendChild(field);
node.InnerText = title;
field = doc.CreateElement("field2",
NamespaceManager.LookupNamespace("my"));
node = group.AppendChild(field);
node.InnerText = id;
doc.AppendChild(group);
MainDataSource.CreateNavigator().SelectSingleNode(
"/my:myFields/my:group1",
NamespaceManager).AppendChild(doc.DocumentElement.CreateNavigator());
}
private void DeleteFirstEmptyItem()
{
XPathNavigator domNav = MainDataSource.CreateNavigator();
XPathNavigator itemNav = domNav.SelectSingleNode(
"/my:myFields/my:group1/my:group2[1]",
NamespaceManager);
if (itemNav != null)
itemNav.DeleteSelf();
}
public void CTRL13_5_Clicked(object sender, ClickedEventArgs e)
{
XPathNavigator secDSNav = DataSources["TestCustomList"].CreateNavigator();
// Retrieve the rows of the secondary data source
XPathNodeIterator rows = secDSNav.Select(
"/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW",
NamespaceManager);
// Loop through the rows of the secondary data source and fill the repeating table
while (rows.MoveNext())
{
string title = rows.Current.SelectSingleNode(
"/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Title", NamespaceManager).Value;
string id = rows.Current.SelectSingleNode(
"/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:ID", NamespaceManager).Value;
// Add the item to the repeating table
AddItem(title, id );
}
// Remove the first empty item from the repeating table
DeleteFirstEmptyItem();
}