Exemplo n.º 1
0
        protected virtual ColumnElement CreateColumnElement(ColumnElement element, ElaboratedTableVarColumn elaboratedColumn, Schema.TableVarColumn column, string titleSeed, string pageType, bool isReadOnly)
        {
            PrepareElement(element, column.MetaData, null, titleSeed, pageType, isReadOnly);

            if
            (
                (((Schema.ScalarType)column.DataType).NativeType == DAE.Runtime.Data.NativeAccessors.AsString.NativeType) &&
                (elaboratedColumn.ElaboratedReference == null) &&
                !element.Properties.Contains("NilIfBlank") &&
                (element.ElementType != "Choice")                            // TODO: Control types: need a better mechanism for determining whether or not a particular property applies to a particular control type...
            )
            {
                element.Properties.AddOrUpdate("NilIfBlank", "False");
            }

            element.Title = DerivationUtility.GetTag(column.MetaData, "Caption", pageType, DerivationUtility.GetTag(column.MetaData, "Title", pageType, Schema.Object.Unqualify(column.Name)));
            string width = DerivationUtility.GetTag(column.MetaData, "Width", pageType, String.Empty);

            if (width != String.Empty)
            {
                element.Properties.AddOrUpdate("Width", width);
            }
            element.Properties.AddOrUpdate("Source", element.Source);
            element.Properties.AddOrUpdate("ColumnName", element.ColumnName);
            if (column.ReadOnly || isReadOnly || Convert.ToBoolean(DerivationUtility.GetTag(column.MetaData, "ReadOnly", pageType, "False")))
            {
                element.Properties.AddOrUpdate("ReadOnly", "True");
            }

            return(element);
        }
Exemplo n.º 2
0
        protected virtual Element BuildColumnElement(ElaboratedTableVarColumn column, string pageType, string titleSeed, bool readOnly)
        {
            ColumnElement columnElement = new ColumnElement(String.Format("{0}Column{1}", _derivationInfo.MainSourceName, column.ElaboratedName));

            columnElement.ElementType = DerivationUtility.GetTag(column.Column.MetaData, "ElementType", pageType, GetDefaultElementType(column.Column.DataType, pageType));
            columnElement.Source      = _derivationInfo.MainSourceName;
            columnElement.ColumnName  = Schema.Object.Qualify(column.Column.Name, column.ElaboratedTableVar.ElaboratedName);
            CreateColumnElement(columnElement, column, column.Column, titleSeed, pageType, readOnly);
            AddElement(columnElement, column.GroupName, titleSeed, pageType, readOnly);
            return(columnElement);
        }