/// <summary> /// Disposes all the resources used by the <see cref="Syncfusion.UI.Xaml.Grid.GridPagedCollectionViewWrapper"/> class. /// </summary> /// <param name="isDisposing">Indicates whether the call is from Dispose method or from a finalizer.</param> protected override void Dispose(bool isDisposing) { if (isdisposed) { return; } if (isDisposing) { // Unwire View related events wired in GridModel if (this.dataGrid != null && this.dataGrid.GridModel != null) { dataGrid.GridModel.UnWireEvents(false); } base.Dispose(isDisposing); if (this.dataGrid != null) { this.dataGrid.View = null; } DetachGridView(); if (propertyAccessProvider != null) { propertyAccessProvider.Dispose(); propertyAccessProvider = null; } } isdisposed = true; }
/// <summary> /// Invokes to get formatted string for corresponding value. /// </summary> /// <param name="column">GridColumn</param> /// <param name="item">item is either Value or Record</param> /// <param name="isRecord">true if item is record otherwise false</param> /// <returns>formatted text</returns> internal static string GetFormattedString(GridColumn column, ItemPropertiesProvider provider, object item, bool isRecord) { var displayBinding = column.DisplayBinding as Binding; if (isRecord) { var displayText = column.isDisplayMultiBinding ? provider.GetFormattedValue(item, column.MappingName) : column.DataGrid.View.GetPropertyAccessProvider().GetDisplayValue(item, column.mappingName, column.useBindingValue); if (displayText != null) { return(displayText.ToString()); } //WPF-34213 - isdisplayingbindingcreated condition added. else if (displayText == null && column.isdisplayingbindingcreated) //displayBinding.Converter != null && (displayBinding.Converter is GridValueConverter || displayBinding.Converter is DisplayMemberConverter)) { return(GridResourceWrapper.Blanks); } } var value = provider.GetConvertedValue(displayBinding, item); //While item is null we need to return the Blanks text if (item != null) { return(value.ToString()); } return(GridResourceWrapper.Blanks); }
/// <summary> /// Invokes to get Formatted value from Binding /// </summary> /// <param name="provider">Property access provider</param> /// <param name="binding">Binding</param> /// <param name="value">Value</param> /// <returns>formatted value</returns> internal static object GetConvertedValue(this ItemPropertiesProvider provider, Binding binding, object value) { #if UWP if (binding.Converter != null) { return(binding.Converter.Convert(value, null, binding.ConverterParameter, binding.ConverterLanguage)); } if (value == null && binding.TargetNullValue != DependencyProperty.UnsetValue) { return(binding.TargetNullValue); } #else if (binding.Converter != null) { return(binding.Converter.Convert(value, null, binding.ConverterParameter, binding.ConverterCulture)); } if (value == null && binding.TargetNullValue != DependencyProperty.UnsetValue) { return(binding.TargetNullValue); } if (!String.IsNullOrEmpty(binding.StringFormat)) { return((value is DateTime) ? Convert.ToDateTime(value).ToString(binding.StringFormat) : string.Format(binding.StringFormat, value)); } #endif return(value); }
/// <summary> /// Invokes to get Formatted value from Binding properties /// </summary> /// <param name="provider">ItemPropertiesProvider</param> /// <param name="converter">IValueConverter</param> /// <param name="parameter">Converter Parameter</param> /// <param name="language">Converter Language</param> /// <param name="targetNullValue">TargetNullValue</param> /// <param name="value">value</param> /// <returns>formatted value</returns> internal static object GetConvertedValue(this ItemPropertiesProvider provider, IValueConverter converter, object parameter, string language, object targetNullValue, object value) { if (converter != null) { return(converter.Convert(value, null, parameter, language)); } if (value == null && targetNullValue != DependencyProperty.UnsetValue) { return(targetNullValue); } return(value); }
/// <summary> /// Invokes to get ConvertBack value from Binding /// </summary> /// <param name="provider">Property access provider</param> /// <param name="binding">Binding</param> /// <param name="value">Value</param> /// <returns>formatted value</returns> internal static object GetConvertBackValue(this ItemPropertiesProvider provider, Binding binding, object value) { #if UWP if (binding.Converter != null) { return(binding.Converter.ConvertBack(value, null, binding.ConverterParameter, binding.ConverterLanguage)); } #else if (binding.Converter != null) { return(binding.Converter.ConvertBack(value, null, binding.ConverterParameter, binding.ConverterCulture)); } #endif return(value); }
/// <summary> /// Initialize the ComboBoxAdv with required fields. /// </summary> /// <param name="uiElement">The ComboBoxAdv that loaded in Edit mode.</param> /// <param name="dataColumn">The DataColumn that loads the ComboBoxAdv.</param> protected virtual void InitializeEditBinding(ComboBoxAdv uiElement, DataColumnBase dataColumn) { var comboBoxColumn = dataColumn.GridColumn as GridComboBoxColumn; if (this.DataGrid != null && this.DataGrid.View != null) { provider = this.DataGrid.View.GetPropertyAccessProvider(); } var itemSource = this.GetItemsSource(dataColumn.GridColumn); if (uiElement.DisplayMemberPath == string.Empty) { uiElement.DisplayMemberPath = "DisplayText"; } uiElement.ItemsSource = itemSource; uiElement.SelectedItems = null; }
protected override ItemPropertiesProvider CreateItemPropertiesProvider() { if (this.IsDynamicBound) { propertyAccessProvider = new GridDynamicPropertiesProvider(this, dataGrid); return(propertyAccessProvider); } if (this.IsXElementBound) { propertyAccessProvider = new GridXElementAttributesProvider(this, dataGrid); } else { propertyAccessProvider = new GridItemPropertiesProvider(this, dataGrid); } return(propertyAccessProvider); }