skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class RadCollectionView<TDataItem>

Provides an abstract base class for collection views that support filtering, sorting, grouping, and paging operations on strongly-typed data item collections.

Inheritance
System.Object
RadCollectionView<TDataItem>
RadDataView<TDataItem>
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Telerik.WinControls.Data
Assembly: Telerik.WinControls.dll

Syntax

public abstract class RadCollectionView<TDataItem> : ICollectionView<TDataItem>, IPagedCollectionView, IReadOnlyCollection<TDataItem>, IEnumerable<TDataItem>, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged where TDataItem : IDataItem
Type Parameters
TDataItem

The type of data items in the collection, which must implement IDataItem.

Remarks

RadCollectionView serves as the foundation for data binding scenarios in RadControls, providing a rich set of data manipulation capabilities including filtering, sorting, grouping, and paging. It implements multiple collection interfaces to ensure compatibility with various data binding patterns and frameworks.

The collection view acts as a layer between raw data sources and UI controls, allowing for complex data operations without modifying the underlying data. It supports expression-based filtering, multi-level sorting, hierarchical grouping, and efficient pagination for large datasets.

Key features include change notifications through INotifyCollectionChanged and System.ComponentModel.INotifyPropertyChanged, current item tracking, deferred refresh capabilities, and thread-safe operations for multi-threaded environments.

Constructors

RadCollectionView(IEnumerable<TDataItem>)

Declaration
public RadCollectionView(IEnumerable<TDataItem> collection)
Parameters
System.Collections.Generic.IEnumerable<TDataItem> collection

Properties

BypassFilter

Gets or sets a value indicating whether filtering will be performed or it will be handled by the user/data source.

Declaration
public bool BypassFilter { get; set; }
Property Value
System.Boolean

BypassSort

Gets or sets a value indicating whether sorting will be performed or it will be handled by the user/data source.

Declaration
public bool BypassSort { get; set; }
Property Value
System.Boolean

CanChangePage

Gets a value that indicates whether the IPagedCollectionView.PageIndex value is allowed to change.

Declaration
public virtual bool CanChangePage { get; }
Property Value
System.Boolean

true if the IPagedCollectionView.PageIndex value is allowed to change; otherwise, false.

Implements
IPagedCollectionView.CanChangePage

CanFilter

Gets or sets a value indicating whether this data view can filter.

Declaration
public virtual bool CanFilter { get; set; }
Property Value
System.Boolean

true if this instance can filter; otherwise, false.

Implements
ICollectionView<T>.CanFilter

CanGroup

Gets or sets a value indicating whether this data view can group.

Declaration
public virtual bool CanGroup { get; set; }
Property Value
System.Boolean

true if this instance can group; otherwise, false.

Implements
ICollectionView<T>.CanGroup

CanPage

Gets or sets a value indicating whether this data view can be paginated.

Declaration
public virtual bool CanPage { get; set; }
Property Value
System.Boolean

true if this data view can be paginated; otherwise, false.

Implements
IPagedCollectionView.CanPage

CanSort

Gets or sets a value indicating whether this data view can sort.

Declaration
public virtual bool CanSort { get; set; }
Property Value
System.Boolean

true if this instance can sort; otherwise, false.

Implements
ICollectionView<T>.CanSort

CaseSensitive

Indicates whether string comparisons of data are case-sensitive.

Declaration
public bool CaseSensitive { get; set; }
Property Value
System.Boolean

ChangeCurrentOnAdd

Gets or sets a value indicating whether [change current on add].

Declaration
public bool ChangeCurrentOnAdd { get; set; }
Property Value
System.Boolean

true if [change current on add]; otherwise, false.

Comparer

Gets or sets the comparer.

Declaration
public virtual IComparer<TDataItem> Comparer { get; set; }
Property Value
System.Collections.Generic.IComparer<TDataItem>

The comparer.

Count

Gets the count.

Declaration
public int Count { get; }
Property Value
System.Int32

The count.

Implements
IReadOnlyCollection<T>.Count

CurrentItem

Gets or sets the current item.

Declaration
public TDataItem CurrentItem { get; }
Property Value
TDataItem

The current item.

Implements
ICollectionView<T>.CurrentItem

CurrentPosition

Gets or sets the current position.

Declaration
public int CurrentPosition { get; protected set; }
Property Value
System.Int32

The current position.

Implements
ICollectionView<T>.CurrentPosition

DefaultFilter

Default callback so that the default filtering expression parser can be substituted.

Declaration
public virtual Predicate<TDataItem> DefaultFilter { get; }
Property Value
System.Predicate<TDataItem>

DefaultGroupPredicate

Gets the default group predicate.

Declaration
public virtual GroupPredicate<TDataItem> DefaultGroupPredicate { get; }
Property Value
GroupPredicate<TDataItem>

The default group predicate.

Filter

Provides a callback so that the default filtering expression parser can be substituted.

Declaration
public virtual Predicate<TDataItem> Filter { get; set; }
Property Value
System.Predicate<TDataItem>

Implements
ICollectionView<T>.Filter

FilterExpression

Gets or sets the filter expression.

Declaration
public virtual string FilterExpression { get; set; }
Property Value
System.String

The filter expression.

GroupComparer

Gets or sets the comparer.

Declaration
public virtual IComparer<Group<TDataItem>> GroupComparer { get; set; }
Property Value
System.Collections.Generic.IComparer<Group<TDataItem>>

The comparer.

Implements
ICollectionView<T>.GroupComparer

GroupDescriptorCollectionFactory

This property is used internally.

Declaration
public IGroupDescriptorCollectionFactory GroupDescriptorCollectionFactory { get; set; }
Property Value
IGroupDescriptorCollectionFactory

GroupDescriptors

Gets the group descriptions.

Declaration
public GroupDescriptorCollection GroupDescriptors { get; }
Property Value
GroupDescriptorCollection

The group descriptions.

Implements
ICollectionView<T>.GroupDescriptors

GroupFactory

Declaration
public virtual IGroupFactory<TDataItem> GroupFactory { get; set; }
Property Value
IGroupFactory<TDataItem>

GroupPredicate

Declaration
public virtual GroupPredicate<TDataItem> GroupPredicate { get; set; }
Property Value
GroupPredicate<TDataItem>

Groups

Gets the groups.

Declaration
public virtual GroupCollection<TDataItem> Groups { get; }
Property Value
GroupCollection<TDataItem>

The groups.

Implements
ICollectionView<T>.Groups

HasDataOperation

Declaration
protected bool HasDataOperation { get; }
Property Value
System.Boolean

HasFilter

Gets a value indicating whether this instance has filter applied.

Declaration
protected bool HasFilter { get; }
Property Value
System.Boolean

true if this instance has filter applied; otherwise, false.

HasGroup

Gets a value indicating whether this instance has group applied.

Declaration
protected bool HasGroup { get; }
Property Value
System.Boolean

true if this instance has group applied; otherwise, false.

HasSort

Gets a value indicating whether this instance has sort applied.

Declaration
protected bool HasSort { get; }
Property Value
System.Boolean

true if this instance has sort applied; otherwise, false.

IsDynamic

Gets a value that indicates whether the underlying collection provides change notifications.

Declaration
public bool IsDynamic { get; }
Property Value
System.Boolean

true if this instance is dynamic; otherwise, false.

IsEmpty

Gets a value indicating whether this item collection is empty.

Declaration
public bool IsEmpty { get; }
Property Value
System.Boolean

true if this item collection is empty; otherwise, false.

IsIncrementalFiltering

Gets a value indicating whether this instance is incremental filtering.

Declaration
public bool IsIncrementalFiltering { get; }
Property Value
System.Boolean

true if this instance is incremental filtering; otherwise, false.

IsInUpdate

Declaration
protected bool IsInUpdate { get; }
Property Value
System.Boolean

IsPageChanging

Gets a value that indicates whether a page index change is in process.

Declaration
public virtual bool IsPageChanging { get; }
Property Value
System.Boolean

true if the page index is changing; otherwise, false.

Implements
IPagedCollectionView.IsPageChanging

Item[Int32]

Gets the item at the specified index.

Declaration
public TDataItem this[int index] { get; }
Parameters
System.Int32 index

Property Value
TDataItem

Implements
IReadOnlyCollection<T>.Item[Int32]

ItemCount

Gets the total number of items in the source collection.

Declaration
public virtual int ItemCount { get; }
Property Value
System.Int32

The total number of items in the source collection, or -1 if the total number is unknown.

Implements
IPagedCollectionView.ItemCount

Items

Declaration
protected virtual IList<TDataItem> Items { get; }
Property Value
System.Collections.Generic.IList<TDataItem>

PageIndex

Gets the zero-based index of the current page.

Declaration
public virtual int PageIndex { get; }
Property Value
System.Int32

The zero-based index of the current page.

Implements
IPagedCollectionView.PageIndex

PageSize

Gets or sets the number of items to display on a page.

Declaration
public virtual int PageSize { get; set; }
Property Value
System.Int32

The number of items to display on a page.

Implements
IPagedCollectionView.PageSize

PagingBeforeGrouping

Gets or sets a value indicating whether paging is performed before grouping or vice versa.

Declaration
public virtual bool PagingBeforeGrouping { get; set; }
Property Value
System.Boolean

true if paging is performed before grouping; otherwise, false.

SortDescriptorCollectionFactory

This property is used internally.

Declaration
public ISortDescriptorCollectionFactory SortDescriptorCollectionFactory { get; set; }
Property Value
ISortDescriptorCollectionFactory

SortDescriptors

Gets the sort descriptions.

Declaration
public SortDescriptorCollection SortDescriptors { get; }
Property Value
SortDescriptorCollection

The sort descriptions.

Implements
ICollectionView<T>.SortDescriptors

SourceCollection

Gets the source collection.

Declaration
public virtual IEnumerable<TDataItem> SourceCollection { get; }
Property Value
System.Collections.Generic.IEnumerable<TDataItem>

The source collection.

Implements
ICollectionView<T>.SourceCollection

TotalPages

Gets the total number of pages with the current page size.

Declaration
public virtual int TotalPages { get; }
Property Value
System.Int32

Version

Gets a value indicating the current version of the view.

Declaration
public int Version { get; }
Property Value
System.Int32

Methods

BeginUpdate()

Suspends event notification.

Declaration
public void BeginUpdate()

ClearThreadedFilterNodes()

Declaration
public void ClearThreadedFilterNodes()

Contains(TDataItem)

Determines whether [contains] [the specified item].

Declaration
public bool Contains(TDataItem item)
Parameters
TDataItem item

The item.

Returns
System.Boolean

true if [contains] [the specified item]; otherwise, false.

Implements
IReadOnlyCollection<T>.Contains(T)

ContainsGroup(Group<TDataItem>)

Determines whether the specified group is present within this view.

Declaration
public bool ContainsGroup(Group<TDataItem> group)
Parameters
Group<TDataItem> group

Returns
System.Boolean

CopyTo(TDataItem[], Int32)

Copies to array.

Declaration
public void CopyTo(TDataItem[] array, int arrayIndex)
Parameters
TDataItem[] array

The array.

System.Int32 arrayIndex

Index of the array.

DeferRefresh()

Defers the refresh.

Declaration
public virtual IDisposable DeferRefresh()
Returns
System.IDisposable

EndUpdate()

Resumes event notification.

Declaration
public void EndUpdate()

EndUpdate(Boolean)

Resumes event notification.

Declaration
public void EndUpdate(bool notifyUpdates)
Parameters
System.Boolean notifyUpdates

EnsureDescriptors()

Declaration
public virtual void EnsureDescriptors()

EnsurePageIndex()

Ensures the index of the page is within the valid pages range.

Declaration
protected virtual void EnsurePageIndex()

Evaluate(String, TDataItem)

Evaluates the specified expression.

Declaration
public object Evaluate(string expression, TDataItem item)
Parameters
System.String expression

The expression.

TDataItem item

The item.

Returns
System.Object

Evaluate(String, IEnumerable<TDataItem>)

Evaluates the specified expression.

Declaration
public object Evaluate(string expression, IEnumerable<TDataItem> items)
Parameters
System.String expression

The expression.

System.Collections.Generic.IEnumerable<TDataItem> items

The items.

Returns
System.Object

Evaluate(String, Int32, Int32)

Evaluates the specified expression.

Declaration
public object Evaluate(string expression, int startIndex, int count)
Parameters
System.String expression

The expression.

System.Int32 startIndex

The start index.

System.Int32 count

The count.

Returns
System.Object

FilterEvaluate(FilterDescriptor, TDataItem)

Declaration
public bool FilterEvaluate(FilterDescriptor filterDescriptor, TDataItem item)
Parameters
FilterDescriptor filterDescriptor

TDataItem item

Returns
System.Boolean

Find(Int32, Object)

Finds the specified item index.

Declaration
public virtual TDataItem Find(int itemIndex, object dataBoundItem)
Parameters
System.Int32 itemIndex

Index of the item.

System.Object dataBoundItem

The data bound item.

Returns
TDataItem

FindGroup(Group<TDataItem>)

Searches the Groups collection for a match, using the Keys in the provided group.

Declaration
public Group<TDataItem> FindGroup(Group<TDataItem> group)
Parameters
Group<TDataItem> group

Returns
Group<TDataItem>

GetEnumerator()

Declaration
public IEnumerator<TDataItem> GetEnumerator()
Returns
System.Collections.Generic.IEnumerator<TDataItem>

Implements
System.Collections.Generic.IEnumerable<T>.GetEnumerator()

GetFieldValue(TDataItem, String)

Declaration
protected virtual object GetFieldValue(TDataItem item, string fieldName)
Parameters
TDataItem item

System.String fieldName

Returns
System.Object

GetItemPage(TDataItem)

Declaration
public virtual int GetItemPage(TDataItem item)
Parameters
TDataItem item

Returns
System.Int32

IndexOf(TDataItem)

Indexes the of.

Declaration
public virtual int IndexOf(TDataItem item)
Parameters
TDataItem item

The item.

Returns
System.Int32

Implements
IReadOnlyCollection<T>.IndexOf(T)

InitializeSource(IEnumerable<TDataItem>)

Declaration
protected virtual void InitializeSource(IEnumerable<TDataItem> collection)
Parameters
System.Collections.Generic.IEnumerable<TDataItem> collection

LazyRefresh()

This method is used internally.

Declaration
public void LazyRefresh()

LoadData(IEnumerable<TDataItem>)

Loads the data.

Declaration
public virtual void LoadData(IEnumerable<TDataItem> collection)
Parameters
System.Collections.Generic.IEnumerable<TDataItem> collection

The collection.

MoveCurrentTo(TDataItem)

Moves the current to.

Declaration
public bool MoveCurrentTo(TDataItem item)
Parameters
TDataItem item

The item.

Returns
System.Boolean

Implements
ICollectionView<T>.MoveCurrentTo(T)

MoveCurrentToFirst()

Moves the current to first.

Declaration
public bool MoveCurrentToFirst()
Returns
System.Boolean

Implements
ICollectionView<T>.MoveCurrentToFirst()

MoveCurrentToLast()

Moves the current to last.

Declaration
public bool MoveCurrentToLast()
Returns
System.Boolean

Implements
ICollectionView<T>.MoveCurrentToLast()

MoveCurrentToNext()

Moves the current to next.

Declaration
public bool MoveCurrentToNext()
Returns
System.Boolean

Implements
ICollectionView<T>.MoveCurrentToNext()

MoveCurrentToPosition(Int32)

Moves the current to position.

Declaration
public bool MoveCurrentToPosition(int newPosition)
Parameters
System.Int32 newPosition

The position.

Returns
System.Boolean

Implements
ICollectionView<T>.MoveCurrentToPosition(Int32)

MoveCurrentToPrevious()

Moves the current to previous.

Declaration
public bool MoveCurrentToPrevious()
Returns
System.Boolean

Implements
ICollectionView<T>.MoveCurrentToPrevious()

MoveToFirstPage()

Sets the first page as the current page.

Declaration
public virtual bool MoveToFirstPage()
Returns
System.Boolean

true if the operation was successful; otherwise, false.

Implements
IPagedCollectionView.MoveToFirstPage()

MoveToLastPage()

Sets the last page as the current page.

Declaration
public virtual bool MoveToLastPage()
Returns
System.Boolean

true if the operation was successful; otherwise, false.

Implements
IPagedCollectionView.MoveToLastPage()

MoveToNextPage()

Moves to the page after the current page.

Declaration
public virtual bool MoveToNextPage()
Returns
System.Boolean

true if the operation was successful; otherwise, false.

Implements
IPagedCollectionView.MoveToNextPage()

MoveToPage(Int32)

Requests a page move to the page at the specified zero-based index.

Declaration
public virtual bool MoveToPage(int pageIndex)
Parameters
System.Int32 pageIndex

The zero-based index of the page to move to.

Returns
System.Boolean

true if the operation was successful; otherwise, false.

Implements
IPagedCollectionView.MoveToPage(Int32)

MoveToPreviousPage()

Moves to the page before the current page.

Declaration
public virtual bool MoveToPreviousPage()
Returns
System.Boolean

true if the operation was successful; otherwise, false.

Implements
IPagedCollectionView.MoveToPreviousPage()

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Declaration
protected virtual void OnCollectionChanged(NotifyCollectionChangedEventArgs args)
Parameters
NotifyCollectionChangedEventArgs args

OnCurrentChanged(EventArgs)

Declaration
protected virtual void OnCurrentChanged(EventArgs args)
Parameters
System.EventArgs args

OnCurrentChanging(CancelEventArgs)

Declaration
protected virtual void OnCurrentChanging(CancelEventArgs args)
Parameters
System.ComponentModel.CancelEventArgs args

OnNotifyPropertyChanged(PropertyChangedEventArgs)

Raises the NotifyPropertyChanged event

Declaration
protected virtual void OnNotifyPropertyChanged(PropertyChangedEventArgs e)
Parameters
System.ComponentModel.PropertyChangedEventArgs e

OnPageChanged()

Fires the PageChanged event.

Declaration
protected virtual void OnPageChanged()

OnPageChanging(Int32)

Fires the PageChanging event. Returns the value of the Cancel event argument.

Declaration
protected virtual bool OnPageChanging(int newIndex)
Parameters
System.Int32 newIndex

The new index.

Returns
System.Boolean

True if the event was canceled, otherwise false.

PassesFilter(TDataItem)

Passeses the filter.

Declaration
public virtual bool PassesFilter(TDataItem item)
Parameters
TDataItem item

The item.

Returns
System.Boolean

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Declaration
protected virtual void ProcessCollectionChanged(NotifyCollectionChangedEventArgs args)
Parameters
NotifyCollectionChangedEventArgs args

Refresh()

Refreshes this data view.

Declaration
public virtual void Refresh()
Implements
ICollectionView<T>.Refresh()

RefreshOverride()

Declaration
protected virtual void RefreshOverride()

SetCurrentPositionCore(Int32, Boolean)

The core update routine for the current position.

Declaration
protected virtual bool SetCurrentPositionCore(int newPosition, bool forceNotify)
Parameters
System.Int32 newPosition

New position of the current item.

System.Boolean forceNotify

True to raise CurrentChanged regardless of whether actual position change is available.

Returns
System.Boolean

SetCurrentPositionCore(Int32, Boolean, CurrentChangeReason)

Declaration
protected bool SetCurrentPositionCore(int newPosition, bool forceNotify, CurrentChangeReason reason)
Parameters
System.Int32 newPosition

System.Boolean forceNotify

CurrentChangeReason reason

Returns
System.Boolean

TryEvaluate(String, IEnumerable<TDataItem>, Int32, out Object)

Try to evaluate the specified expression.

Declaration
public bool TryEvaluate(string expression, IEnumerable<TDataItem> items, int index, out object result)
Parameters
System.String expression

The expression.

System.Collections.Generic.IEnumerable<TDataItem> items

The items.

System.Int32 index

Index of item, which the result will be calculated for

System.Object result

Expression result

Returns
System.Boolean

TryEvaluate(String, IEnumerable<TDataItem>, out Object)

This method is used internally.

Declaration
public bool TryEvaluate(string expression, IEnumerable<TDataItem> items, out object result)
Parameters
System.String expression

System.Collections.Generic.IEnumerable<TDataItem> items

System.Object result

Returns
System.Boolean

VersionUpdateNeeded(NotifyCollectionChangedEventArgs)

Declaration
protected virtual bool VersionUpdateNeeded(NotifyCollectionChangedEventArgs args)
Parameters
NotifyCollectionChangedEventArgs args

Returns
System.Boolean

Events

CollectionChanged

Declaration
public event NotifyCollectionChangedEventHandler CollectionChanged
Event Type
NotifyCollectionChangedEventHandler

Implements
ICollectionView<T>.CollectionChanged
INotifyCollectionChanged.CollectionChanged

CurrentChanged

Declaration
public event EventHandler CurrentChanged
Event Type
System.EventHandler

Implements
ICollectionView<T>.CurrentChanged

CurrentChanging

Declaration
public event CancelEventHandler CurrentChanging
Event Type
System.ComponentModel.CancelEventHandler

Implements
ICollectionView<T>.CurrentChanging

PageChanged

Occurs when the IPagedCollectionView.PageIndex has changed.

Declaration
public event EventHandler<EventArgs> PageChanged
Event Type
System.EventHandler<System.EventArgs>

Implements
IPagedCollectionView.PageChanged

PageChanging

Occurs before the IPagedCollectionView.PageIndex is changed.

Declaration
public event EventHandler<PageChangingEventArgs> PageChanging
Event Type
System.EventHandler<PageChangingEventArgs>

Implements
IPagedCollectionView.PageChanging

PropertyChanged

Declaration
public event PropertyChangedEventHandler PropertyChanged
Event Type
System.ComponentModel.PropertyChangedEventHandler

Explicit Interface Implementations

IEnumerable.GetEnumerator()

Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
System.Collections.IEnumerator

Implements
System.Collections.IEnumerable.GetEnumerator()

IReadOnlyCollection<TDataItem>.CopyTo(TDataItem[], Int32)

Declaration
void IReadOnlyCollection<TDataItem>.CopyTo(TDataItem[] array, int index)
Parameters
TDataItem[] array

System.Int32 index

Implements
IReadOnlyCollection<T>.CopyTo(T[], Int32)

Extension Methods

SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.