Thanks Hilary. I was finaly able to return a solution. I am incrementing a field with each button click. So on that field change event I am removing the first row, Using a rule to hide the first row by default. So now I am trying to add a button to each row that will allow me to copy the data in that row and write it back to my Master fields. Seems I keep getting an error because of"nil".
public void AddData_Clicked(object sender, ClickedEventArgs e)
{
XPathNavigator Master1 = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Master1", NamespaceManager);
XPathNavigator Master2 = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Master2", NamespaceManager);
XPathNavigator Master3 = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Master3", NamespaceManager);
//XPathNavigator index = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:index", NamespaceManager);
XPathNavigator navigator = MainDataSource.CreateNavigator();
navigator.MoveToFollowing(XPathNodeType.Element);
XPathNavigator sectionNode = navigator.SelectSingleNode("/my:myFields/my:Chld", NamespaceManager);
string ns = sectionNode.NamespaceURI;
XmlWriter writer = sectionNode.AppendChild();
writer.WriteStartElement("my", "Child", ns);
writer.WriteElementString("my", "Child1", ns, Master1.Value.ToString());
writer.WriteElementString("my", "Child2", ns, Master2.Value.ToString());
writer.WriteElementString("my", "Child3", ns, Master3.Value.ToString());
writer.WriteElementString("my", "ChildIndex", ns, F8.Value.ToString());
writer.WriteEndElement();
//writer.Flush();
writer.Close();
}
public void index_Changed(object sender, XmlEventArgs e)
{
XPathNavigator CI = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Chld/my:Child/my:ChildIndex", NamespaceManager);
XPathNavigator CIParent = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Chld/my:Child", NamespaceManager);
if (Convert.ToInt32(CI.Value) == 0)
{
CIParent.DeleteSelf();
}
}
public void EditItem_Clicked(object sender, ClickedEventArgs e)
{
//XPathNavigator nodeToClone = e.Source;
//nodeToClone.Clone().InsertAfter(e.Source);
XPathNavigator Master1 = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Master1", NamespaceManager);
XPathNavigator Master2 = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Master2", NamespaceManager);
XPathNavigator Master3 = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Master3", NamespaceManager);
XPathNavigator Child1 = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Child1", NamespaceManager);
XPathNavigator Child2 = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Child2", NamespaceManager);
XPathNavigator Child3 = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Child3", NamespaceManager);
Master1.SetValue(Child1.Value);
Master2.SetValue(Child2.Value);
Master3.SetValue(Child3.Value);
}seems my Child values are null. Is there a way to copy fields in a selected row and set the values to non-repeating fields?