protected override void OnLoadComplete(EventArgs e) { base.OnLoadComplete(e); var cfg = ApplicationConfigurationManager.CurrentOrDefault; if (cfg != null) { IConfigurableForm form = (IConfigurableForm)this; if (!cfg.LayoutConfigurations.ContainsKey(form.Path)) { cfg.LayoutConfigurations[form.Path] = new LayoutConfiguration(); } cfg.Apply(this); } }
protected override void OnInitializeLayout(InitializeLayoutEventArgs e) { base.OnInitializeLayout(e); e.Layout.Override.SummaryFooterCaptionVisible = DefaultableBoolean.False; FormConfiguration formConfiguration = null; if (this.DataSource != null) { IList <string> lstCustomControlNames = new List <string>(); this.GetCustomControlsNames(this.Parent, lstCustomControlNames); string parentFormName = lstCustomControlNames.Last(); lstCustomControlNames.Remove(parentFormName); string schemeName = null; if (parentFormName != null && parentFormName.Contains("Form")) { Form form = this.GetForm(this.Parent); schemeName = form.GetType().Namespace.Split('.')[1]; if (typeof(IConfigurableForm).IsAssignableFrom(form.GetType())) { IConfigurableForm configurableForm = form as IConfigurableForm; formConfiguration = configurableForm.FormConfiguration; } else { FormConfigurationParameters pmtFormConfiguration = new FormConfigurationParameters(); pmtFormConfiguration.FormName = parentFormName; formConfiguration = srvFormConfiguration.GetByParameters(pmtFormConfiguration); } } else { return; } if (formConfiguration == null) { SchemeParameters pmtScheme = new SchemeParameters(); pmtScheme.Name = schemeName; Scheme scheme = this.srvScheme.GetByParameters(pmtScheme); formConfiguration = new FormConfiguration(); formConfiguration.FormName = parentFormName; formConfiguration.Scheme = scheme; srvFormConfiguration.SaveOrUpdate(formConfiguration); } string gridName = (lstCustomControlNames.Count == 0 ? "" : string.Join(".", lstCustomControlNames.Reverse().ToArray()) + ".") + this.Name; FormConfigurationGrid formGrid = formConfiguration.FormConfigurationGrids .SingleOrDefault(x => x.GridName == gridName); if (formGrid == null) { FormConfigurationGridParameters pmtFormConfigurationGrid = new FormConfigurationGridParameters(); pmtFormConfigurationGrid.GridName = gridName; pmtFormConfigurationGrid.FormConfigurationId = formConfiguration.FormConfigurationId; formGrid = srvFormConfigurationGrid.GetByParameters(pmtFormConfigurationGrid); } if (formGrid == null) { formGrid = new FormConfigurationGrid(); formGrid.GridName = gridName; formGrid.IgnoreConfiguration = false; formGrid.FormConfiguration = formConfiguration; srvFormConfigurationGrid.SaveOrUpdate(formGrid); } if (formGrid.IgnoreConfiguration) { return; } foreach (UltraGridBand band in this.DisplayLayout.Bands) { foreach (UltraGridColumn column in band.Columns) { FormConfigurationGridColumn formGridColumn = null; if (formGrid.FormConfigurationGridColumns != null) { formGridColumn = formGrid .FormConfigurationGridColumns.SingleOrDefault(x => x.ColumnName == column.Key && (x.BandKey == null || x.BandKey == band.Key)); } if (formGridColumn == null) { formGridColumn = new FormConfigurationGridColumn(); formGrid.FormConfigurationGridColumns.Add(formGridColumn); formGridColumn.ColumnName = column.Key; formGridColumn.ColumnEndUserName = column.Key; formGridColumn.FormConfigurationGrid = formGrid; formGridColumn.Visible = false; formGridColumn.BandKey = band.Key; srvFormConfigurationGridColumn.SaveOrUpdate(formGridColumn); } } } IList <string> lstOrderedColumnNames = formGrid.FormConfigurationGridColumns .OrderBy(x => x.FormConfigurationGridColumnId).Select(x => x.ColumnName).ToList(); foreach (UltraGridBand band in this.DisplayLayout.Bands) { int index = 0; foreach (UltraGridColumn column in band.Columns.Cast <UltraGridColumn>() .OrderBy(x => lstOrderedColumnNames.IndexOf(x.Key))) { FormConfigurationGridColumn gridColumnConfiguration = formGrid .FormConfigurationGridColumns.Single(x => x.ColumnName == column.Key && (x.BandKey == null || x.BandKey == band.Key)); column.Hidden = !gridColumnConfiguration.Visible && !formGrid.IgnoreConfiguration; column.Header.Caption = gridColumnConfiguration.ColumnEndUserName; column.Header.VisiblePosition = index++; if (gridColumnConfiguration.TextFormat != null) { WindowsFormsUtil.SetUltraColumnFormat(column, gridColumnConfiguration.TextFormat); } if (gridColumnConfiguration.Width.HasValue) { column.Width = gridColumnConfiguration.Width.Value; } } //band.SummaryFooterCaption = "Sumatorias"; } } }