/// <summary> /// Converts a value from a string to a DataColumn. /// </summary> /// <param name="context">The context.</param> /// <param name="culture">The culture.</param> /// <param name="value">The value to convert.</param> /// <returns>A DataColumn.</returns> public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (!string.IsNullOrEmpty((string)value)) { ILookupSourceFieldsProvider provider = (ILookupSourceFieldsProvider)context.Instance; List <DataTableField> fields = provider.GetLookupSourceFields(); string columnName = Regex.Match((string)value, CoreUtility.FieldMatchPattern).Groups[1].Value; return(fields.First(field => field.ColumnName == columnName)); } return(null); }
/// <summary> /// Gets a list of Lookup SourceColumn objects. /// </summary> /// <param name="context">The context.</param> /// <returns>The list of Lookup SourceColumn items.</returns> public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { ILookupSourceFieldsProvider provider = (ILookupSourceFieldsProvider)context.Instance; return(new StandardValuesCollection(provider.GetLookupSourceFields())); }