1: //select the secondary data source
2: XPathNodeIterator xDomNodes = this.DataSources["DataSourceName"].CreateNavigator().Select("/dfs:myFields/dfs:dataFields/d:TableName", this.NamespaceManager);
3:
4: foreach (XPathNavigator xDom in xDomNodes)
5: {
6: XmlDocument doc = new XmlDocument();
7:
8: //set first field(column)
9: XmlNode group = doc.CreateElement("RepeatingTable", NamespaceManager.LookupNamespace("my"));
10: XmlNode field = doc.CreateElement("RPField1", NamespaceManager.LookupNamespace("my"));
11: XmlNode node = group.AppendChild(field);
12: node.InnerText = xDom.SelectSingleNode("@Field1", NamespaceManager).Value;
13:
14: //set second field(column)
15: field = doc.CreateElement("RPField2", NamespaceManager.LookupNamespace("my"));
16: node = group.AppendChild(field);
17: node.InnerText = xDom.SelectSingleNode("@Field2", NamespaceManager).Value;
18:
19: doc.AppendChild(group);
20:
21: //populate repeating table with xml of database values
22: MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:mRepeatingTableGroup", this.NamespaceManager).AppendChild(doc.DocumentElement.CreateNavigator());
23: }
24: //remove empty row
25: XPathNavigator firstNode = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:RepeatingTableGroup/my:RepeatingTable[1]", NamespaceManager);
26: firstNode.DeleteSelf();