public override void CreateList(AutoWidthCalculatorArgs e) { DataControlAutoWidthCalculatorArgs args = e as DataControlAutoWidthCalculatorArgs; this.Objects.Clear(); IList list = args.VisibleColumns; int count = list.Count; for (int i = 0; i < count; i++) { XRResizableFieldHeader column = (XRResizableFieldHeader)list[i]; int minWidth = (int)GraphicsUnitConverter.Convert(2, GraphicsDpi.HundredthsOfAnInch, containerControl.Dpi); int maxWidth = (int)containerControl.WidthF - (containerControl.VisibleHeaders.Count - 2) * (int)GraphicsUnitConverter.Convert(2, GraphicsDpi.HundredthsOfAnInch, containerControl.Dpi); this.Objects.Add(new AutoWidthObjectInfo(column, minWidth, maxWidth, (int)column.Width, (int)column.Width, false)); } }
internal override void UpdateDataLayout() { if (!isLoading) { this.BeginInit(); DataControlAutoWidthCalculatorArgs args = new DataControlAutoWidthCalculatorArgs(null, true, (int)this.WidthF); System.Collections.Generic.List <XRResizableFieldHeader> visibleColumns = new System.Collections.Generic.List <XRResizableFieldHeader>(); System.Collections.Generic.List <XRFieldHeader> visibleHeaders = this.VisibleHeaders; if (visibleHeaders.Count > 0) { for (int i = 0; i < visibleHeaders.Count; i++) { visibleColumns.Add(visibleHeaders[i] as XRResizableFieldHeader); } args.VisibleColumns = visibleColumns; XRDataControlAutoWidthCalculator calc = new XRDataControlAutoWidthCalculator(this); calc.Calc(args); calc.UpdateRealObjects(args, true); float resultingWidth = 0; for (int i = 0; i < visibleHeaders.Count - 1; i++) { resultingWidth += ((XRResizableFieldHeader)visibleHeaders[i]).Width; } ((XRResizableFieldHeader)visibleHeaders[visibleHeaders.Count - 1]).Width = this.WidthF - resultingWidth; } this.EndInit(); } }
protected override void DoCalc(AutoWidthCalculatorArgs e) { DataControlAutoWidthCalculatorArgs args = e as DataControlAutoWidthCalculatorArgs; this.CalcAutoWidth(args); }