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 VirtualGridTableViewState

Stores information about row sizes and provides methods for fast scrolling among millions of rows. The class only stores the sizes of rows which have been resized and uses additional structures to allow fast calculation of target state when scrolling with large amounts.

Inheritance
System.Object
VirtualGridTableViewState
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.UI
Assembly: Telerik.WinControls.GridView.dll

Syntax

public class VirtualGridTableViewState : INotifyPropertyChanged

Constructors

VirtualGridTableViewState(Int32, Int32, Int32, Boolean)

Initializes a new instance of the VirtualGridTableViewState class.

Declaration
public VirtualGridTableViewState(int itemCount, int defaultItemSize, int itemSpacing, bool supportsPaging)
Parameters
System.Int32 itemCount

The item count.

System.Int32 defaultItemSize

Default size of the item.

System.Int32 itemSpacing

The item spacing.

System.Boolean supportsPaging

The supports paging.

Properties

BottomPinnedItems

Gets a read only collection of all the items pinned at the bottom of the view.

Declaration
public ReadOnlyCollection<int> BottomPinnedItems { get; }
Property Value
System.Collections.ObjectModel.ReadOnlyCollection<System.Int32>

BottomPinnedItemsList

This property is only used for serialization purposes.

Declaration
public List<int> BottomPinnedItemsList { get; set; }
Property Value
System.Collections.Generic.List<System.Int32>

DefaultItemSize

Gets or sets the default size of items which have never been resized.

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

DpiScale

Gets the current DPI scale factor.

Declaration
public SizeF DpiScale { get; }
Property Value
System.Drawing.SizeF

EnablePaging

Gets or sets a value indicating whether data is presented in chunks (pages) to the user.

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

ExpandedSizes

This property is only used for serialization purposes.

Declaration
public Dictionary<int, int> ExpandedSizes { get; set; }
Property Value
System.Collections.Generic.Dictionary<System.Int32, System.Int32>

ItemCount

Gets or sets the total number of items to be displayed.

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

ItemSizes

This property is only used for serialization purposes.

Declaration
public Dictionary<int, int> ItemSizes { get; set; }
Property Value
System.Collections.Generic.Dictionary<System.Int32, System.Int32>

ItemSpacing

Gets or sets the spacing between adjucent items.

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

PageIndex

Gets or sets the index of the page currently presented in the grid.

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

PageSize

Gets or sets the number of rows shown per page when paging is enabled.

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

SupportsPaging

Gets a value indicating whether paging is supported by this instance.

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

TopPinnedItems

Gets a read only collection of all the items pinned at the top of the view.

Declaration
public ReadOnlyCollection<int> TopPinnedItems { get; }
Property Value
System.Collections.ObjectModel.ReadOnlyCollection<System.Int32>

TopPinnedItemsList

This property is only used for serialization purposes.

Declaration
public List<int> TopPinnedItemsList { get; set; }
Property Value
System.Collections.Generic.List<System.Int32>

TotalPages

Gets the total number of pages when paging is enabled.

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

Methods

BeginUpdate()

Suspends calling UpdateOnItemSizeChanged()

Declaration
public void BeginUpdate()

DpiScaleChanged(SizeF)

Fires when the DPI scaling is changed.

Declaration
public virtual void DpiScaleChanged(SizeF scale)
Parameters
System.Drawing.SizeF scale

The scale.

EndUpdate()

Resumes calling UpdateOnItemSizeChanged(), forces an update.

Declaration
public void EndUpdate()

GetItemOffset(Int32)

Gets the total offset from the beginning of the items to the top edge of the specified item. The method does not consider if paging is enabled.

Declaration
public int GetItemOffset(int itemIndex)
Parameters
System.Int32 itemIndex

The index of the item.

Returns
System.Int32

The total offset.

GetItemScrollOffset(Int32)

Gets the scroll offset from the beginning of the items in the current view to the top edge of the specified item. The method considers if paging is enabled.

Declaration
public int GetItemScrollOffset(int itemIndex)
Parameters
System.Int32 itemIndex

The index of the item.

Returns
System.Int32

The total offset.

GetItemSize(Int32)

Gets the currently set size of an item with a given index. Checks if the item is pinned or expanded. Return 0 for pinned items and the total expanded size for expanded items.

Declaration
public int GetItemSize(int itemIndex)
Parameters
System.Int32 itemIndex

The index of the item.

Returns
System.Int32

The size of the item.

GetItemSize(Int32, Boolean)

Gets the currently set size of an item with a given index. Checks if the item is pinned or expanded. Return 0 for pinned items and the total expanded size for expanded items.

Declaration
public int GetItemSize(int itemIndex, bool checkPinned)
Parameters
System.Int32 itemIndex

The index of the item.

System.Boolean checkPinned

Determines if an item should be considered pinned if it is pinned.

Returns
System.Int32

The size of the item.

GetItemSize(Int32, Boolean, Boolean)

Gets the currently set size of an item with a given index. Checks if the item is pinned or expanded. Return 0 for pinned items and the total expanded size for expanded items.

Declaration
public int GetItemSize(int itemIndex, bool checkPinned, bool checkExpanded)
Parameters
System.Int32 itemIndex

The index of the item.

System.Boolean checkPinned

Determines if an item should be considered pinned if it is pinned.

System.Boolean checkExpanded

Determines if an expanded row should include its child view size.

Returns
System.Int32

The size of the item.

GetItemSizes()

Returns a read-only collection of the sizes of the item.

Declaration
public ReadOnlyCollection<KeyValuePair<int, int>> GetItemSizes()
Returns
System.Collections.ObjectModel.ReadOnlyCollection<System.Collections.Generic.KeyValuePair<System.Int32, System.Int32>>

Returns a read-only collection of the sizes of the item.

GetPinPosition(Int32)

Gets the pin position of the specified item.

Declaration
public PinnedRowPosition GetPinPosition(int itemIndex)
Parameters
System.Int32 itemIndex

The index of the item.

Returns
PinnedRowPosition

The pin position of the specified item.

GetScrollDownTarget(Int32, Int32, out Int32)

Calculates and returns the scroller position and offset if scrolled down from the bottom of item [startIndex] with [scrollOffset].

Declaration
public int GetScrollDownTarget(int startIndex, int scrollOffset, out int targetIndex)
Parameters
System.Int32 startIndex

The current item from the scroller (the scroll operation starts from the bottom of this item).

System.Int32 scrollOffset

The amount to scroll with.

System.Int32 targetIndex

Returns the index of the item which should be set as Current to the scroller.

Returns
System.Int32

Return the new scroll offset which should be set to the scroller after the Current has been set.

GetScrollUpTarget(Int32, Int32, out Int32)

Calculates and returns the scroller position and offset if scrolled up from the bottom of item [startIndex] with [scrollOffset].

Declaration
public int GetScrollUpTarget(int startIndex, int scrollOffset, out int targetIndex)
Parameters
System.Int32 startIndex

The current item from the scroller (the scroll operation starts from the bottom of this item).

System.Int32 scrollOffset

The amount to scroll with.

System.Int32 targetIndex

Returns the index of the item which should be set as Current to the scroller.

Returns
System.Int32

Return the new scroll offset which should be set to the scroller after the Current has been set.

GetTotalItemSize()

Calculates the total size of all items, using the ItemCount, DefaultItemSize, ItemSpacing, and considering the resized items. Used to calculate the maximum for the scrollbar.

Declaration
public int GetTotalItemSize()
Returns
System.Int32

The total item size.

IsPinned(Int32)

Determines whether the item at the specified index is pinned.

Declaration
public bool IsPinned(int itemIndex)
Parameters
System.Int32 itemIndex

The index of the item.

Returns
System.Boolean

True if the item is pinned, otherwise false.

OnPageIndexChanged()

Fires the PageIndexChanged event.

Declaration
protected virtual void OnPageIndexChanged()

OnPageIndexChanging(Int32, Int32)

Fires the PageIndexChanging event.

Declaration
protected virtual bool OnPageIndexChanging(int oldValue, int newValue)
Parameters
System.Int32 oldValue

The old value.

System.Int32 newValue

The new value.

Returns
System.Boolean

OnPropertyChanged(String)

Declaration
protected virtual void OnPropertyChanged(string propertyName)
Parameters
System.String propertyName

Reset()

Resets the collections with sized items.

Declaration
public void Reset()

ResetExpandedSize(Int32)

Resets the size of the item when it is expanded.

Declaration
public void ResetExpandedSize(int itemIndex)
Parameters
System.Int32 itemIndex

The index of the item.

SetExpandedSize(Int32, Int32)

Sets the size of the item when it is expanded.

Declaration
public void SetExpandedSize(int itemIndex, int size)
Parameters
System.Int32 itemIndex

The index of the item.

System.Int32 size

The size.

SetItemSize(Int32, Int32)

Sets a custom size to the item with a given index.

Declaration
public void SetItemSize(int itemIndex, int size)
Parameters
System.Int32 itemIndex

The index of the item.

System.Int32 size

The custom size to set.

SetPinPosition(Int32, PinnedRowPosition)

Sets the pin position of the specified item.

Declaration
public void SetPinPosition(int itemIndex, PinnedRowPosition position)
Parameters
System.Int32 itemIndex

The index of the item.

PinnedRowPosition position

The pin position.

UpdateOnItemSizeChanged()

Updates the internal structures when the size of an item changes. Needed for proper calculations of scroll offsets. See the description of [partialItemSizes] and [itemSizes] for more info.

Declaration
public void UpdateOnItemSizeChanged()

Events

PageIndexChanged

Occurs after the page index changes.

Declaration
public event EventHandler PageIndexChanged
Event Type
System.EventHandler

PageIndexChanging

Occurs before the page index changes.

Declaration
public event VirtualGridPageChangingEventHandler PageIndexChanging
Event Type
VirtualGridPageChangingEventHandler

PropertyChanged

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

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.