Hello,
I'm trying to insert an new column in a loaded worksbook. When I insert it I resize an existing table so that the chart related to the table will update as well but it does not. Can you help me out ?
Thank you for contacting Infragistics!
The best way for us to assist you is if you provide a small isolated sample that we can run and use for debugging locally. If you are unable able to provide an isolated sample I may be able to give suggestions if you provide the code for your page.
Hi Mike,
So, I'm trying to insert an new column in a loaded workbook. When I insert it I resize an existing table so that the chart related to the table will update as well but it does not. And apparently there is no way to modify a loaded chart using infragistics. The only way I can access it is by Worksheet.Shapes collection but as you may guess it's just a shape where I cannot manipulate data in it.
So when I open the modified excel file, the table was well resized but on the other hand the chart that was related to the table is not updated. Its data source range is still the previous range of the table.
Here is what I did :
private static void Main() { string outputFile = "Book1.xlsm"; Workbook workbook = Workbook.Load(outputFile);
Workbook temp = SetIndicatorsWorkbook(); var jenkinsValues = new List(); for (int j = 0; j < 13; j++) { jenkinsValues.Add((int)temp.Worksheets["Unit & Integration Tests"].Rows[j].Cells[0].Value); }
var worksheet = workbook.Worksheets["Unit Testing"];
//id of column related to the first asset (fixedIncome) in the loaded worksheet var k = 8; var count = worksheet.Rows[8].Cells.Count(cell => cell.Value != null);
string lastCellAdress = WorksheetCell.GetCellAddressString(worksheet.Rows[20], worksheet.Columns[count + 1].Index, CellReferenceMode.A1, true); StringBuilder lastCellReference = new StringBuilder(); for (int i = 16; i < lastCellAdress.Length; i++) { if (!lastCellAdress[i].Equals('$')) { lastCellReference.Append(lastCellAdress[i]); }
} worksheet.Columns.Insert(count + 1); worksheet.Tables["Table5"].Resize(String.Format("C3:{0}", lastCellReference)); int totalValues = 0; foreach (var value in jenkinsValues) { worksheet.Rows[k].Cells[count + 1].Value = value; totalValues += value; k++; }
DateTime date = DateTime.Parse(worksheet.Rows[2].Cells[count].GetText()); worksheet.Rows[2].Cells[count + 1].Value = date.AddMonths(1); worksheet.Rows[4].Cells[count + 1].Value = totalValues;
workbook.Save(outputFile); }