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); }
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); }