コード例 #1
0
 /// <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;
 }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        /// <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);
        }
コード例 #6
0
        /// <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;
        }
コード例 #7
0
 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);
 }