IntegralUI TreeView
Displays hierarchical data structures

Appearance
- Customize the appearance of every control part: background, border, items, expand box and scrollbars
- Separate look for each item state: normal, selected, focused, hovered and disabled
- Opton to show even/odd rows in alternate colors using custom styles
- Option to change appearance of each item separately
- Color Schemes: Dark and Light
- Option to create your own Themes
- Option to change the overall appearance using your own custom settings with conditions

Drag and Drop
Reorder items using advanced drag drop operations
- Option to drag and drop multiple items
- Drag Drop items from/to other components
- Option to drop copies of dragged items while holding SHIFT key
- Use built-in operation where items are reordered in standard way showing the reorder position tooltip
- Create your own custom drag drop operation
- Support for all standard drag drop events
- Auto expanding while mouse cursor hovers over target item, allows you to easily reorder items
- Auto scrolling near component area edges allows you to easily scroll the current view
Events
Control the flow of operations using large number of events
- Change events during sorting and filtering
- Drag Drop events during each step of drag and drop operation
- Editing events
- Expand/Collapse events
- Item add/remove events
- Item selection events
- Keyboard related events
- Mouse Click events: Click, DoubleClick and RightClick
- Notification events during loading and update
- Scrolling events when scroll position changes
Expand/Collapse
Manage the appareance and behavior of expand box
- Expand Box can be visible or hidden
- Option to replace the expand box with your own icon
- Show expand box on right side
Filtering
Advanced built-in filtering system
- Built-in suport for number and string filter operations
- Filter can accept multiple values and performs complex operations with AND, OR criteria
- Option to create your own custom filtering criteria

High Performance
Maintain high performance while loading and updating your data
- Using virtualization you can load thousands of items in milliseconds
- Provides a flat list of whole tree hierarchy that allows you to easily navigate among items
- Load data on demand, as a whole or per parent node
Keyboard Navigation
Navigate through items using keyboard
- Use arrow keys to navigate among items
- Option to handle keyboard events and select items by pressing keys

Layout
Organize the content of each item in custom layouts
- Add your own custom content using item templates
- Each item can have its own template or template can be shared among all items
- You can change the item content based on custom conditions
- Option to add other components inside item space
- Separate items by setting spacing between them
- Each item can have its own context menu or tooltip
- Option to change the item indent
- Show customizable toolbar when item is hovered or selected
Scrolling
Manage the appearance and behavior of scrollbars
- Option to show or hide horizontal and vertical scrollbars separately
- Determine whether the component is scrollable
- Determine the scrolling speed of mouse wheel from 5 supported values
- Option to set up scroll position from code
- Customize the appareance of scrollbars using custom styles
- Scroll to specific item from code

Selection
Manage item selection in efficient way
- Four ways to select items: None, One, MiltiSimple and MultiExtended
- Choose whether only a single item or multiple items are selected
- Selection is done with mouse, touch and/or keyboard
- Option to preserve selection while doing other operations
- Ability to have multiple selection using keyboard keys: CTRL and SHIFT
- Option to select items from code
Sorting
Choose how items are sorted by using built-in or custom sorting
- Ability to create your own custom sort operation very easily
- Sort items in ascending or descending order, or choose none to stop sorting
- Sort items by using three built-in types: integer, double and string
Tooltips
Show customizable tooltips
- Each item can have its own tooltip
- Choose how soon a tolltip will popup, and how long should remain visible