Hi!
I have table with subtables. I want to use a command MailMerge.ExecuteWithRegions(dataSet);.
But this command make a problem in Subtables. I attach the template file and Xml file.
Are you have another way to do this?
Thank’s.
private void BuildingTable_V2()
{
string[] strNameTable = new string[10];
int intmaxTables = 0;
int strNameTableCount = 0;
string[] strFieldNames;
strFieldNames = AsposeDocument.MailMerge.GetFieldNames();
DataSet dataSet = new DataSet();
try
{
for (int intFieldNames = 0; intFieldNames < strFieldNames.Length; intFieldNames++)
{
// Name of Tables
if (strFieldNames[intFieldNames].IndexOf("TableStart") == 0)
{
// Name of Table
string strHelp = strFieldNames[intFieldNames];
strNameTable[strNameTableCount] = strHelp.Substring(11);
strNameTableCount++;
}
}
intmaxTables = strNameTableCount;
for (int intNameTable = 0; intNameTable < intmaxTables; intNameTable++)
{
string strNameTagOfTable = strNameTable[intNameTable];
DataTable myTable = new DataTable(strNameTagOfTable);
System.Xml.XmlNodeList nodeTableRows = XmlLetters.SelectNodes("//" + strNameTagOfTable);
if (nodeTableRows.Count > 0)
{
System.Xml.XmlNodeList nodeTableCell = nodeTableRows.Item(0).ChildNodes;
for (int intnodelist = 0; intnodelist < nodeTableCell.Count; intnodelist++)
{
// Add columns to table
try //!!!*****
{//!!!*****
myTable.Columns.Add(nodeTableCell.Item(intnodelist).Name);
}//!!!*****
catch { } //!!!*****
// myTable.Columns.Add("Company");
}
for (int intnodeRow = 0; intnodeRow < nodeTableRows.Count; intnodeRow++)
{
nodeTableCell = nodeTableRows.Item(intnodeRow).ChildNodes;
DataRow row = myTable.NewRow();
for (int intnodelist = 0; intnodelist < nodeTableCell.Count; intnodelist++)
{
row[nodeTableCell.Item(intnodelist).Name] = nodeTableCell.Item(intnodelist).InnerText;
// row["Company"] = "Company" + i.ToString();
// myTable.Columns.Add("Company");
}
myTable.Rows.Add(row);
}
// Populate tables and add to the dataset.
dataSet.Tables.Add(myTable);
}//if (nodeTableRows.Count >0)
else
{
WriteToTextLog("Table is empty : " + strNameTagOfTable, 2);
myTable.Clear();
dataSet.Tables.Add(myTable);
}
}//for Tables
AsposeDocument.MailMerge.ExecuteWithRegions(dataSet);
SaveTempDocument(TempPath + strSystemNameFile);
}