Exemplo n.º 1
0
 public static void SetGridConstraints(GridControl grid, IObjectMeta meta = null)
 {
     foreach (var view in grid.Views)
     {
         SetGridViewConstraints(view as GridView, meta);
     }
 }
Exemplo n.º 2
0
        public static void SetGridViewConstraints(GridView grid, IObjectMeta meta = null)
        {
            if (grid == null || grid.GridControl.DataSource == null || !grid.OptionsBehavior.Editable || grid.OptionsBehavior.ReadOnly)
            {
                return;
            }
            DataTable table = null;

            if (grid.GridControl.DataSource is DataView)
            {
                table = ((DataView)grid.GridControl.DataSource).Table;
            }
            else if (grid.GridControl.DataSource is DataTable)
            {
                table = (DataTable)grid.GridControl.DataSource;
            }
            if (table == null && meta == null)
            {
                return;
            }
            foreach (GridColumn col in grid.Columns)
            {
                if (!string.IsNullOrEmpty(col.FieldName))
                {
                    int?len = 0;
                    if (meta != null)
                    {
                        len = meta.MaxSize(col.FieldName);
                    }
                    else
                    {
                        len = GetFieldLength(table, col.FieldName);
                    }

                    if (len.HasValue && len.Value > 0 && col.OptionsColumn.AllowEdit && !col.OptionsColumn.ReadOnly)
                    {
                        if (col.ColumnEdit == null)
                        {
                            col.ColumnEdit = GetTextColumnEdit(len.Value);
                        }
                        else if (col.ColumnEdit is RepositoryItemTextEdit)
                        {
                            ((RepositoryItemTextEdit)col.ColumnEdit).MaxLength = len.Value;
                        }
                    }
                }
            }
        }