Here is how I insert a new row in my repeating section.
function insertFindDataOS(pass in your parameters here)
{
var Findings = XDocument.DOM.selectSingleNode("/my:IC3/my:CurrentFindings/my:ElemOS");
var copyFindings = Findings.cloneNode(true);
var newRepeatRow = XDocument.DOM.createNode(1, "my:Finds_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newConcatRow = XDocument.DOM.createNode(1, "my:FindConcat_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newFindRow = XDocument.DOM.createNode(2, "my:Find_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newFindValueRow = XDocument.DOM.createNode(2, "my:FindValue_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newFindIDRow = XDocument.DOM.createNode(2, "my:FindID_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newElementIDRow = XDocument.DOM.createNode(2, "my:ElementID_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newStatusRow = XDocument.DOM.createNode(2, "my:Status_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newSeverityRow = XDocument.DOM.createNode(2, "my:Severity_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newModRow = XDocument.DOM.createNode(2, "my:Mod_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newMasterRow = XDocument.DOM.createNode(2, "my:Master_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newCatFilterRow = XDocument.DOM.createNode(2, "my:CatFilter_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newICD9Code = XDocument.DOM.createNode(2, "my:ICD9Code_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var newMasterID = XDocument.DOM.createNode(2, "my:MasterID_OS", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-05-25T21:47:45");
var lastRow = Findings.selectNodes("my:Finds_OS").length;
XDocument.View.DisableAutoUpdate();
newRepeatRow.appendChild(newConcatRow);
newConcatRow.setAttributeNode(newFindRow);
newConcatRow.setAttributeNode(newFindValueRow);
newConcatRow.setAttributeNode(newFindIDRow);
newConcatRow.setAttributeNode(newElementIDRow);
newConcatRow.setAttributeNode(newStatusRow);
newConcatRow.setAttributeNode(newSeverityRow);
newConcatRow.setAttributeNode(newModRow);
newConcatRow.setAttributeNode(newMasterRow);
newConcatRow.setAttributeNode(newCatFilterRow);
newConcatRow.setAttributeNode(newICD9Code);
newConcatRow.setAttributeNode(newMasterID);
copyFindings.appendChild(newRepeatRow);
copyFindings.appendChild(newRepeatRow);
Findings.parentNode.replaceChild(copyFindings,Findings);
Findings = XDocument.DOM.selectSingleNode(parentPath);
lastRow = Findings.selectNodes(repeatNodeName).length;
XDocument.SetNamedNodeProperty(Findings, ctrlID, lastRow);
XDocument.View.EnableAutoUpdate();
}
function btnInsertFindingOS::OnClick(eventObj)
{
id = "CTRL388";
insertFindDataOS(set your parameters here);
}
Hope this helps