Ejemplo n.º 1
0
 protected virtual void RestoreColumnsState(ColumnsState state)
 {
     foreach (GridViewColumn key in state.AllowResizeState.Keys)
     {
         key.AllowResize = state.AllowResizeState[key];
     }
 }
Ejemplo n.º 2
0
        protected virtual ColumnsState SaveColumnsState(GridViewTemplate template)
        {
            ColumnsState columnsState = new ColumnsState();

            foreach (GridViewColumn column in (Collection <GridViewDataColumn>)template.Columns)
            {
                columnsState.AllowResizeState[column] = column.AllowResize;
                column.AllowResize = true;
            }
            return(columnsState);
        }
Ejemplo n.º 3
0
        private TableViewRowLayout GetRowLayout(
            GridViewRowInfo row,
            PrintFitWidthMode fitWidthMode,
            int hierarchyIndent,
            Rectangle drawArea)
        {
            int key = row.ViewTemplate.GetHashCode() + row.HierarchyLevel;

            if (this.rowLayouts.ContainsKey(key))
            {
                return(this.rowLayouts[key]);
            }
            GridTableElement viewUiElement = row.ViewTemplate.ViewDefinition.CreateViewUIElement(row.ViewInfo) as GridTableElement;

            viewUiElement.Initialize(this.GridView.GridViewElement, row.ViewInfo);
            viewUiElement.RowHeight         = this.GridView.TableElement.RowHeight;
            viewUiElement.TableHeaderHeight = this.GridView.TableElement.TableHeaderHeight;
            viewUiElement.GroupHeaderHeight = this.GridView.TableElement.GroupHeaderHeight;
            this.GridView.ElementTree.ApplyThemeToElement((RadObject)viewUiElement);
            TableViewRowLayout tableViewRowLayout = new TableViewRowLayout();

            tableViewRowLayout.Context = GridLayoutContext.Printer;
            tableViewRowLayout.Initialize(viewUiElement);
            int num1 = 0;

            foreach (GridViewColumn renderColumn in (IEnumerable <GridViewColumn>)tableViewRowLayout.RenderColumns)
            {
                if (renderColumn is GridViewRowHeaderColumn || renderColumn is GridViewIndentColumn)
                {
                    num1 += tableViewRowLayout.GetColumnWidth(renderColumn);
                }
            }
            this.GridView.BeginUpdate();
            GridViewAutoSizeColumnsMode autoSizeColumnsMode = tableViewRowLayout.ViewTemplate.AutoSizeColumnsMode;

            if (fitWidthMode == PrintFitWidthMode.FitPageWidth)
            {
                ColumnsState state = this.SaveColumnsState(tableViewRowLayout.ViewTemplate);
                tableViewRowLayout.ViewTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
                int num2 = row.Group != null ? row.Group.Level + 1 : 0;
                tableViewRowLayout.MeasureRow(new SizeF((float)(drawArea.Width + num1 - (row.HierarchyLevel - num2) * hierarchyIndent), (float)drawArea.Height));
                this.RestoreColumnsState(state);
            }
            else
            {
                tableViewRowLayout.ViewTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.None;
                tableViewRowLayout.MeasureRow(new SizeF((float)this.GridView.Width, (float)this.GridView.Height));
            }
            tableViewRowLayout.ViewTemplate.AutoSizeColumnsMode = autoSizeColumnsMode;
            this.GridView.EndUpdate(false);
            this.rowLayouts.Add(key, tableViewRowLayout);
            return(tableViewRowLayout);
        }