protected virtual void SaveConfiguration() { if (null != this.ConfigurationSaving) { this.ConfigurationSaving(this, new EventArgs()); } if (this.EnableConfigurationProvider) { if (null == this._table) { throw new InvalidOperationException("Table is null"); } IConfigurationSection configSection = this.GetConfigurationReference(); if (null != configSection) { configSection.Elements.Clear(); foreach (TableRow row in this._table.Rows) { int num = this._table.Rows.GetRowIndex(row); IConfigurationElement configRow = configSection.AddElement(num.ToString()); foreach (TableCell cell in row.Cells) { num = row.Cells.GetCellIndex(cell); IConfigurationElement configCell = configRow.AddElement(num.ToString()); configCell.AddAttribute("span").Value = ((cell.ColumnSpan == 0) ? 1 : cell.ColumnSpan); configCell.AddAttribute("rowspan").Value = ((cell.RowSpan == 0) ? 1 : cell.RowSpan); string containerID = this.CreateContainerID(cell.ID); if (this._containersParts.ContainsKey(containerID)) { configCell.AddAttribute("part").Value = this._containersParts[containerID]; } else { configCell.AddAttribute("part").Value = string.Empty; } this.SaveCellProperties(cell, configCell); } } } } if (null != this.ConfigurationSaved) { this.ConfigurationSaved(this, new EventArgs()); } }