public WMB.TableContentDefinition [] GetConnectorEntries (String TableName) { List<String> ConnectorEntryColumns = new List<String> (); foreach (DataRow Definition in GetSchemaDataTable (TableName).Rows) { if ((Definition ["name"].ToString () == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_CONNECTOR_ID) || (Definition ["name"].ToString () == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_IMAGE_LINK_ID)) ConnectorEntryColumns.Add (Definition ["name"].ToString ()); } WMB.TableContentDefinition [] ConnectorEntries = new WMB.TableContentDefinition [ConnectorEntryColumns.Count]; int Index = 0; foreach (String NewEntry in ConnectorEntryColumns) { ConnectorEntries [Index++] = GetColumnDefinition (null, TableName, NewEntry, true); } return ConnectorEntries; }
string StandardTableWindow_ProcessModifyKeyTableCall (TableContentDefinition SpecialFieldProcessing) { IntelliSenseAutoCompletionControl ControlFactory = new IntelliSenseAutoCompletionControl (); ControlFactory.m_Factory = new IntelliSenseAutoCompletionFactoryRoutines (m_DataBase); DataSet ChangedEntries = ControlFactory.StartKeyTableModifyDialog (SpecialFieldProcessing.m_ForeignTableName, SpecialFieldProcessing.m_ForeignTableKeyFieldName); if (ChangedEntries == null) return String.Empty; if (ChangedEntries.Tables [SpecialFieldProcessing.m_ForeignTableName].Rows.Count != 1) return String.Empty; return ChangedEntries.Tables [SpecialFieldProcessing.m_ForeignTableName].Rows [0] [SpecialFieldProcessing.m_ForeignTableKeyFieldName].ToString (); }
public WMB.TableContentDefinition GetColumnDefinition(ItemDescription ItemDesc, String TableName, String ColumnName, bool UpdateAble) { DataTable SchemaDataTable = SchemaDataSet.Tables["ExProp_" + TableName]; if (SchemaDataTable == null) { String TableType = GetDataBaseTableType(TableName); DataSet HelpDS = null; if (TableType == "BASE TABLE") { HelpDS = GetCommonDataSet (String.Format(SQL_GET_EXTENDED_COLUMN_PROPERTIES_FOR_TABLE, TableName)); } if (TableType == "VIEW") { HelpDS = GetCommonDataSet (String.Format(SQL_GET_EXTENDED_COLUMN_PROPERTIES_FOR_VIEW, TableName)); ReformatViewExtendedPropertiesToTableExtendedProperties(HelpDS.Tables[0]); } SchemaDataTable = HelpDS.Tables[0]; HelpDS.Tables.Remove(SchemaDataTable); SchemaDataTable.TableName = "ExProp_" + TableName; SchemaDataSet.Tables.Add(SchemaDataTable); } DataRow[] ColoumnAttributes = SchemaDataTable.Select("objname = '" + ColumnName + "'"); if (ColoumnAttributes.Length < 1) return DefaultColumnDefinition; WMB.TableContentDefinition ProcessableColumnDefinition = null; foreach (DataRow AttributeRow in ColoumnAttributes) { String ExtendedAtttributeName = AttributeRow["name"].ToString(); String[] Values = AttributeRow["value"].ToString().Split(';'); WMB.TableContentDefinition NextProcessableColumnDefinition = null; if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_CONNECTOR_ID) { if (Values.Length == 1) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, Values[0], UpdateAble); } else { String[] AdditionalValues = new String[Values.Length - 1]; int Index = 0; while (Index < (Values.Length - 1)) { AdditionalValues[Index] = Values[Index + 1]; Index++; } NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, Values[0], UpdateAble, AdditionalValues); } } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_ALLOWED_VALUES) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, Values); } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_TABLE_COLUMNS) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, Values); NextProcessableColumnDefinition.m_TypeOfSpecialFieldProcessing = WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_TABLE_COLUMNS; NextProcessableColumnDefinition.m_AllowNewKeysInForeignTable = false; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_ALLOWED_TEMPLATES) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_ALLOWED_TEMPLATES) { m_FieldNameWithAllowedValues = ColumnName }; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_IMAGE_LINK_ID) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_IMAGE_LINK_ID) { m_ForeignConnectionStringName = Values[0], m_ForeignTableName = Values[1], }; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_COLOR) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_COLOR); } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_IS_LAYOUT_SELECTOR) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_IS_LAYOUT_SELECTOR); NextProcessableColumnDefinition.m_IsLayoutSelector = true; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_ALLOWED_KEYS) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, Values[0], Values[1], UpdateAble); } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_PARENT_ID) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, Values[0], Values[1], Values[2], Values[3]); } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_DATE_TIME) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, Values); NextProcessableColumnDefinition.m_TypeOfSpecialFieldProcessing = WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_DATE_TIME; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_CONNECTED_VALUE) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, Values[0], Values[1], UpdateAble); NextProcessableColumnDefinition.m_TypeOfSpecialFieldProcessing = WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_CONNECTED_VALUE; NextProcessableColumnDefinition.m_ConnectedValueControllingTable = Values[2]; NextProcessableColumnDefinition.m_ConnectedValueControllingItem = Values[3]; } if ((ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_DEFAULT_GENERATE_CONTENT) || (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_DO_LOCAL_FILE_SELECTION)) { NextProcessableColumnDefinition = new WMB.TableContentDefinition(TableName, ColumnName, ExtendedAtttributeName); NextProcessableColumnDefinition.m_DefaultFillingMethode = Values[0].Replace(',', ';'); } if (ProcessableColumnDefinition != null) ProcessableColumnDefinition.m_Next = NextProcessableColumnDefinition; else { ProcessableColumnDefinition = NextProcessableColumnDefinition; } } if (ProcessableColumnDefinition == null) ProcessableColumnDefinition = new WMB.TableContentDefinition(ColumnName); foreach (DataRow AttributeRow in ColoumnAttributes) { String ExtendedAtttributeName = AttributeRow["name"].ToString(); String[] Values = AttributeRow["value"].ToString().Split(';'); if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_HELP) { ProcessableColumnDefinition.m_Help = Values[0]; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_TOOL_TIP) { ProcessableColumnDefinition.m_ToolTip = Values[0]; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_READABLE_NAME) { ProcessableColumnDefinition.m_ReadableName = Values[0]; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_DEFAULT_CONTENT) { ProcessableColumnDefinition.m_DefaultContentRules = Values; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_COLOR) { ProcessableColumnDefinition.m_DefaultContentRules = new String[] { "Color" }; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_IS_LAYOUT_SELECTOR) { ProcessableColumnDefinition.m_IsLayoutSelector = true; if (ItemDesc != null) ItemDesc.IsLayoutSelector = true; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_MAX_LENGTH) { ProcessableColumnDefinition.m_MaxLength = Convert.ToInt32(Values[0]); } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_PREDFINED_CONTENT) { ProcessableColumnDefinition.m_PredefinedContentGroupKeys = String.Join(";", Values); } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_ALLOW_FOREIGN_KEY_ADD) { ProcessableColumnDefinition.m_AllowNewKeysInForeignTable = true; } if (ExtendedAtttributeName == WMB.TableContentDefinition.SQL_COLUMN_PROPERTY_DO_CONNECTED_VALUE_PROCESSING) { ProcessableColumnDefinition.m_ConnectedValueControllerItem = true; } } return ProcessableColumnDefinition; }