protected GridColumnSettings AddColumnSettings(Enum enumValue) { var columnSettings = new GridColumnSettings(enumValue.ToString()); _columnSettings.Add(columnSettings); return(columnSettings); }
public static bool ColumnIsGroupable(GridColumnSettings gridColumnSettings) { if (_nonGroupableColumns.Contains(gridColumnSettings.PropertyNameId)) { return(false); } return(true); }
public void ApplyColumnSettings(GridColumnSettings columnSettings) { if (!AllColumnSettings.Contains(columnSettings)) { return; } _view.ApplyColumnSettings(columnSettings); }
public void Should_create_bound_column_from_column_settings() { var columnSettings = new GridColumnSettings<Customer> { Member = "Name" }; var column = (GridBoundColumn<Customer, string>)generator.CreateColumn(columnSettings); Assert.Equal("Name", column.Member); }
public void Member_should_set_title() { var settings = new GridColumnSettings<Customer> { Member = "Name" }; var column = (GridBoundColumn<Customer, string>)generator.CreateColumn(settings); Assert.Equal(column.Title, "Name"); }
public void Should_create_bound_column_from_column_settings() { var columnSettings = new GridColumnSettings <Customer> { Member = "Name" }; var column = (GridBoundColumn <Customer, string>)generator.CreateColumn(columnSettings); Assert.Equal("Name", column.Member); }
public void Member_should_set_title() { var settings = new GridColumnSettings <Customer> { Member = "Name" }; var column = (GridBoundColumn <Customer, string>)generator.CreateColumn(settings); Assert.Equal(column.Title, "Name"); }
public void ApplyColumnSettings(GridColumnSettings columnSettings) { var gridColumn = FindColumnByName(columnSettings.ColumnName); if (gridColumn == null) { return; } DoWithoutColumnSettingsUpdateNotification(() => columnSettings.ApplyTo(gridColumn)); }
public static string GetInitialColumnHeader(GridColumnSettings gridColumnSettings) { try { var attr = GetPropertyAttribute <GridColumnAttribute>(gridColumnSettings.PropertyNameId); return((attr != null) ? attr.Header : null); } catch (PropertyNotFoundException) { return(null); } }
public static object GetColumnExampleValue(GridColumnSettings gridColumnSettings) { try { var attr = GetPropertyAttribute <GridColumnAttribute>(gridColumnSettings.PropertyNameId); return((attr != null) ? attr.ExampleValue : null); } catch (PropertyNotFoundException) { return(null); } }
public static bool ColumnIsGroupable(GridColumnSettings gridColumnSettings) { try { var attr = GetPropertyAttribute <NonGroupableAttribute>(gridColumnSettings.PropertyNameId); return(attr == null); } catch (PropertyNotFoundException) { return(false); } }
public void Should_set_template() { var settings = new GridColumnSettings <Customer> { Member = "Name", Template = delegate { } }; var column = (GridBoundColumn <Customer, string>)generator.CreateColumn(settings); Assert.Equal(column.Template, settings.Template); }
/// <summary> /// updates Visibility, VisibleIndex, GroupIndex in GridColumnSettings by values of corresponding GridColumn /// </summary> /// <param name="columnSettings"></param> private void updateColumnSettings(GridColumnSettings columnSettings) { var gridColumn = FindColumnByName(columnSettings.ColumnName); if (gridColumn == null) { return; } columnSettings.GroupIndex = gridColumn.GroupIndex; columnSettings.Visible = gridColumn.Visible; columnSettings.VisibleIndex = gridColumn.VisibleIndex; columnSettings.Width = gridColumn.Width; }
public static IList <GridColumnSettings> GetColumns(DataTable dataTable) { IList <GridColumnSettings> columnList = new List <GridColumnSettings>(); List <DataColumn> dc = dataTable.Columns.Cast <DataColumn>().ToList(); foreach (DataColumn dataColumn in dc) { GridColumnSettings gridColumnSettings = new GridColumnSettings(); gridColumnSettings.Member = dataColumn.ColumnName; gridColumnSettings.Title = dataColumn.ColumnName; gridColumnSettings.MemberType = dataColumn.DataType; columnList.Add(gridColumnSettings); } return(columnList); }
internal static IList <ColumnSetting> GetGridColumnSettingsByEntityAlias(string langCode, EntitiesAlias entity, bool forceUpdate = false, bool isGridSetting = false) { if (!GridColumnSettings.ContainsKey(langCode)) { GridColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ColumnSetting> >()); } if (!GridColumnSettings[langCode].ContainsKey(entity)) { GridColumnSettings[langCode].GetOrAdd(entity, _commands.GetGridColumnSettingsByEntityAlias(langCode, entity, isGridSetting)); } else if (!GridColumnSettings[langCode][entity].Any() || forceUpdate) { GridColumnSettings[langCode].AddOrUpdate(entity, _commands.GetGridColumnSettingsByEntityAlias(langCode, entity, isGridSetting)); } return(GridColumnSettings[langCode][entity]); }
/// <summary> /// To start English version of it on Application start /// </summary> /// <param name="langCode">1 for EN</param> public static void Initialize(string langCode) { Tables = new Dictionary <EntitiesAlias, TableReference>(); RibbonMenus.GetOrAdd(langCode, new List <RibbonMenu>()); IdRefLangNames.GetOrAdd(langCode, new ConcurrentDictionary <int, IList <IdRefLangName> >()); PageInfos.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <PageInfo> >()); Operations.GetOrAdd(langCode, new ConcurrentDictionary <LookupEnums, IList <Operation> >()); DisplayMessages.GetOrAdd(langCode, new ConcurrentDictionary <string, DisplayMessage>()); ColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ViewModels.ColumnSetting> >()); GridColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ViewModels.ColumnSetting> >()); ValidationRegExpressions.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ValidationRegEx> >()); MasterTables.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, object>()); ConditionalOperators.GetOrAdd(langCode, new List <ConditionalOperator>()); SysSettings.GetOrAdd(langCode, new SysSetting()); BusinessConfiguration.GetOrAdd(langCode, new BusinessConfiguration()); }
/// <summary> /// To start English version of it on Application start /// </summary> /// <param name="langCode">1 for EN</param> public static void Initialize(string langCode) { RibbonMenus.GetOrAdd(langCode, new List <RibbonMenu>()); IdRefLangNames.GetOrAdd(langCode, new ConcurrentDictionary <int, IList <IdRefLangName> >()); PageInfos.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <PageInfo> >()); Operations.GetOrAdd(langCode, new ConcurrentDictionary <LookupEnums, IList <Operation> >()); DisplayMessages.GetOrAdd(langCode, new ConcurrentDictionary <string, DisplayMessage>()); ColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ColumnSetting> >()); GridColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ColumnSetting> >()); ValidationRegExpressions.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ValidationRegEx> >()); MasterTables.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, object>()); ConditionalOperators.GetOrAdd(langCode, new List <ConditionalOperator>()); BusinessConfiguration.GetOrAdd(langCode, new BusinessConfiguration()); List <Task> tasks = new List <Task>(); tasks.Add(Task.Factory.StartNew(() => { GetRibbonMenus(langCode); GetTables(); InitializerOperations(langCode); GetSystemSettings(langCode); })); if (tasks.Count > 0) { Task.WaitAll(tasks.ToArray()); } #region Nav Cache Commented Code ////string username = M4PBusinessContext.ComponentSettings.NavAPIUserName; ////string password = M4PBusinessContext.ComponentSettings.NavAPIPassword; ////string serviceURL = M4PBusinessContext.ComponentSettings.NavAPIUrl; ////NAVOrderItemResponse.GetOrAdd(langCode, new NAVOrderItemResponse()); ////DimensionValues.GetOrAdd(langCode, new NavSalesOrderDimensionResponse()); ////GetNavSalesOrderDimensionValues(langCode, username, password, serviceURL); ////CachedNavSalesOrder.GetOrAdd(langCode, new NavSalesOrderPostedInvoiceResponse()); ////GetCachedNavSalesOrderValues(langCode, username, password, serviceURL); ////CachedNavPurchaseOrder.GetOrAdd(langCode, new NavPurchaseOrderPostedInvoiceResponse()); ////GetCachedNavPurchaseOrderValues(langCode, username, password, serviceURL); ////CachedNavSalesLine.GetOrAdd(langCode, new NavSalesOrderItemResponse()); ////GetCachedNavSalesOrderItemValues(langCode, username, password, serviceURL); ////CachedNavPurchaseLine.GetOrAdd(langCode, new NavPurchaseOrderItemResponse()); ////GetCachedNavPurchaseOrderItemValues(langCode, username, password, serviceURL); #endregion Nav Cache Commented Code }
public static void ApplyTo(this GridColumnSettings columnSettings, GridColumn gridColumn) { gridColumn.Visible = columnSettings.Visible; gridColumn.Caption = columnSettings.Caption; gridColumn.GroupIndex = columnSettings.GroupIndex; if (columnSettings.Visible && columnSettings.VisibleIndex != GridColumnSettings.INDEX_NOT_DEFINED) { gridColumn.VisibleIndex = columnSettings.VisibleIndex; } gridColumn.Width = columnSettings.Width; if (!string.IsNullOrEmpty(columnSettings.SortColumnName) && gridColumn.View.Columns.ColumnByFieldName(columnSettings.SortColumnName) != null) { gridColumn.FieldNameSortGroup = columnSettings.SortColumnName; } }
public void Should_set_bound_column_properties() { var settings = new GridColumnSettings <Customer> { Member = "Name", Sortable = false, ClientTemplate = "foo", Encoded = false, Filterable = false, Format = "{0}", Groupable = false, HeaderHtmlAttributes = { }, Hidden = true, HtmlAttributes = { }, #if MVC2 || MVC3 ReadOnly = true, #endif Title = "foo", Visible = false, Width = "100" }; var column = (GridBoundColumn <Customer, string>)generator.CreateColumn(settings); Assert.Equal(column.Sortable, settings.Sortable); Assert.Equal(column.ClientTemplate, settings.ClientTemplate); Assert.Equal(column.Encoded, settings.Encoded); Assert.Equal(column.Filterable, settings.Filterable); Assert.Equal(column.Format, settings.Format); Assert.Equal(column.Groupable, settings.Groupable); Assert.Equal(column.HeaderHtmlAttributes, settings.HeaderHtmlAttributes); Assert.Equal(column.Hidden, settings.Hidden); Assert.Equal(column.HtmlAttributes, settings.HtmlAttributes); #if MVC2 || MVC3 Assert.Equal(column.ReadOnly, settings.ReadOnly); #endif Assert.Equal(column.Title, settings.Title); Assert.Equal(column.Visible, settings.Visible); Assert.Equal(column.Width, settings.Width); }
public static void SyncColumnSettings(ObservableCollection <DataGridColumn> columns, GridSettings gridSettings) { try { foreach (DataGridBoundColumn column in columns.OfType <DataGridBoundColumn>()) { string propertyName = column.GetBindedProperty(); GridColumnSettings columnSettings = gridSettings.Columns[propertyName]; if (columnSettings == null) { continue; } columnSettings.Visible = (column.Visibility == Visibility.Visible); columnSettings.DisplayIndex = column.DisplayIndex; columnSettings.Width = column.Width.IsAuto ? double.NaN : column.ActualWidth; } } catch (Exception ex) { ex.TraceUnknownException(); } }
public void Should_set_type_when_bound_to_dataTable() { const string firstColumnName = "Column1"; const string secondColumnName = "Column2"; var dataTable = new DataTable(); dataTable.Columns.Add(firstColumnName, typeof(int)); dataTable.Columns.Add(secondColumnName, typeof(DateTime)); var grid = GridTestHelper.CreateGrid <DataRowView>(); var settings = new GridColumnSettings { Member = firstColumnName, MemberType = typeof(int) }; var dataTableColumnGenerator = new GridColumnGenerator <DataRowView>(grid); var column = (IGridBoundColumn)dataTableColumnGenerator.CreateColumn(settings); column.MemberType.ShouldEqual(typeof(int)); }
protected GridColumnBase(Grid <T> grid) { Grid = grid; Settings = new GridColumnSettings(); Visible = true; }
public void ApplyColumnSettings(GridColumnSettings columnSettings) => _presentersWithColumnSettings.Each(x => x.ApplyColumnSettings(columnSettings));
public static void GenerateColumns(ObservableCollection <DataGridColumn> columns, GridSettings gridSettings) { try { try { columns.Clear(); } catch (ArgumentOutOfRangeException) { // DataGrid or DataGridColumn issue? // Saving VisualStudio|Options|BuildVision settings causes ArgumentOutOfRangeException (DisplayIndex) // at columns.Clear if BuildVision toolwindow was hidden since VisualStudio start (only in this case). // For the second time without any errors. columns.Clear(); } var tmpColumnsList = new List <DataGridColumn>(); foreach (PropertyInfo property in GetItemProperties()) { GridColumnAttribute columnConfiguration = property.GetCustomAttribute <GridColumnAttribute>(); if (columnConfiguration == null) { continue; } string propertyName = property.Name; GridColumnSettings columnSettings; if (gridSettings.Columns[propertyName] != null) { columnSettings = gridSettings.Columns[propertyName]; } else { columnSettings = new GridColumnSettings( propertyName, columnConfiguration.Header, columnConfiguration.Visible, columnConfiguration.DisplayIndex, columnConfiguration.Width, columnConfiguration.ValueStringFormat); gridSettings.Columns.Add(columnSettings); } DataGridBoundColumn column = CreateColumn(property); InitColumn(column, columnConfiguration, columnSettings, gridSettings.SortDescription); tmpColumnsList.Add(column); } tmpColumnsList.Sort((col1, col2) => col1.DisplayIndex.CompareTo(col2.DisplayIndex)); for (int i = 0; i < tmpColumnsList.Count; i++) { var column = tmpColumnsList[i]; // We aren't able to afford coincidence of indexes, otherwise UI will hang. column.DisplayIndex = i; columns.Add(column); } } catch (Exception ex) { ex.TraceUnknownException(); } }
public void Should_set_template() { var settings = new GridColumnSettings<Customer> { Member = "Name", Template = delegate { } }; var column = (GridBoundColumn<Customer, string>)generator.CreateColumn(settings); Assert.Equal(column.Template, settings.Template); }
private static void InitColumn( DataGridBoundColumn column, GridColumnAttribute columnConfiguration, GridColumnSettings columnSettings, SortDescription sortDescription) { if (string.IsNullOrEmpty(columnConfiguration.ImageKey)) { column.Header = columnSettings.Header; } else if (columnConfiguration.ImageKey == GridColumnAttribute.EmptyHeaderImageKey) { column.Header = null; } else { const int ImgHeight = 14; const int ImgWidth = 14; if (string.IsNullOrEmpty(columnConfiguration.ImageDictionaryUri)) { var imgRes = Resources.ResourceManager.GetObject(columnConfiguration.ImageKey); var img = (System.Drawing.Bitmap)imgRes; column.Header = new Image { Source = img.ToMediaBitmap(), Width = ImgWidth, Height = ImgHeight, Stretch = Stretch.Uniform, Tag = columnSettings.Header }; } else { var controlTemplate = VectorResources.TryGet(columnConfiguration.ImageDictionaryUri, columnConfiguration.ImageKey); column.Header = new ContentControl { Template = controlTemplate, Width = ImgWidth, Height = ImgHeight, ClipToBounds = true, Tag = columnSettings.Header }; } } column.Visibility = columnSettings.Visible ? Visibility.Visible : Visibility.Collapsed; if (columnSettings.DisplayIndex != -1) { column.DisplayIndex = columnSettings.DisplayIndex; } if (!double.IsNaN(columnSettings.Width)) { column.Width = new DataGridLength(columnSettings.Width); } if (columnSettings.ValueStringFormat != null) { column.Binding.StringFormat = columnSettings.ValueStringFormat; } if (column.GetBindedProperty() == sortDescription.SortPropertyName) { column.SortDirection = sortDescription.SortOrder.ToSystem(); } string columnName = columnSettings.Header; if (string.IsNullOrEmpty(columnName)) { columnName = columnConfiguration.Header; } column.SetValue(DataGridColumnExtensions.NameProperty, columnName); }
public void Should_set_type_when_bound_to_dataTable() { const string firstColumnName = "Column1"; const string secondColumnName = "Column2"; var dataTable = new DataTable(); dataTable.Columns.Add(firstColumnName, typeof(int)); dataTable.Columns.Add(secondColumnName, typeof(DateTime)); var grid = GridTestHelper.CreateGrid<DataRowView>(); var settings = new GridColumnSettings { Member = firstColumnName, MemberType = typeof(int) }; var dataTableColumnGenerator = new GridColumnGenerator<DataRowView>(grid); var column = (IGridBoundColumn)dataTableColumnGenerator.CreateColumn(settings); column.MemberType.ShouldEqual(typeof(int)); }
public void Should_set_bound_column_properties() { var settings = new GridColumnSettings<Customer> { Member = "Name", Sortable = false, ClientTemplate = "foo", Encoded = false, Filterable = false, Format = "{0}", Groupable = false, HeaderHtmlAttributes = { }, Hidden = true, HtmlAttributes = { }, #if MVC2 || MVC3 ReadOnly = true, #endif Title = "foo", Visible = false, Width = "100" }; var column = (GridBoundColumn<Customer, string>)generator.CreateColumn(settings); Assert.Equal(column.Sortable, settings.Sortable); Assert.Equal(column.ClientTemplate, settings.ClientTemplate); Assert.Equal(column.Encoded, settings.Encoded); Assert.Equal(column.Filterable, settings.Filterable); Assert.Equal(column.Format, settings.Format); Assert.Equal(column.Groupable, settings.Groupable); Assert.Equal(column.HeaderHtmlAttributes, settings.HeaderHtmlAttributes); Assert.Equal(column.Hidden, settings.Hidden); Assert.Equal(column.HtmlAttributes, settings.HtmlAttributes); #if MVC2 || MVC3 Assert.Equal(column.ReadOnly, settings.ReadOnly); #endif Assert.Equal(column.Title, settings.Title); Assert.Equal(column.Visible, settings.Visible); Assert.Equal(column.Width, settings.Width); }