Represents a specialized list view element that displays data in a details view with columns and headers. This element provides column-based data visualization, column scrolling, drag-drop operations, sorting functionality, and best-fit column sizing capabilities for RadListView controls.
Definition
Namespace:Telerik.WinControls.UI
Assembly:Telerik.WinControls.UI.dll
Syntax:
public class DetailListViewElement : BaseListViewElement, INotifyPropertyChanged, ICustomTypeDescriptor, ISupportSystemSkin, IBindableComponent, IComponent, IDisposable, ISupportDrag, ISupportDrop, IShortcutProvider, IStylableElement, IStylableNode, IPrimitiveElement, IShapedElement, IFillElement, IBorderElement, IBoxStyle, IBoxElement, IDrawFillElement, IImageElement, ITextPrimitive, ITextProvider
Inheritance: objectDisposableObjectRadObjectRadElementVisualElementRadComponentElementRadItemUIItemBaseLightVisualElementScrollViewElement<VirtualizedStackContainer<ListViewDataItem>>VirtualizedScrollPanel<ListViewDataItem, BaseListViewVisualItem>BaseListViewElementDetailListViewElement...
Implements:
Inherited Members
Constructors
Initializes a new instance of the DetailListViewElement class with the specified owner.
public DetailListViewElement(RadListViewElement owner)
The RadListViewElement that owns this details view element.
Fields
Identifies the ColumnDragHint dependency property which defines the visual hint displayed during column drag operations.
public static RadProperty ColumnDragHintProperty
Properties
Gets the container element that hosts the column header cells in the details view.
public DetailListViewColumnContainer ColumnContainer { get; }
Gets or sets the drag-drop service that handles column reordering operations within the details view.
public DetailListViewDragDropService ColumnDragDropService { get; set; }
Gets or sets the RadImageShape instance that defines the visual hint displayed during column drag operations to indicate where a column will be dropped.
[Browsable(false)]
[VsbBrowsable(true)]
public RadImageShape ColumnDragHint { get; set; }
Gets the horizontal scrollbar element used for scrolling columns in the details view.
public RadScrollBarElement ColumnScrollBar { get; }
Gets the scroller component responsible for horizontal scrolling of columns in the details view.
public DetailListViewColumnScroller ColumnScroller { get; }
Gets or sets the group indentation value for details view. In design mode, returns the base group indent; otherwise, returns 0 as details view does not support group indentation.
public override int GroupIndent { get; set; }
Overrides:
Methods
Arranges the horizontal scrollbar for column scrolling, adjusting for RTL layout and vertical scrollbar presence.
protected override RectangleF ArrangeHScrollBar(ref RectangleF viewElementRect, RectangleF clientRect)
The view element rectangle to adjust based on scrollbar placement.
clientRectRectangleFThe client rectangle for layout calculations.
Returns:The RectangleF representing the horizontal scrollbar bounds.
Overrides:
Arranges the child elements including column container, view element, and scrollbars within the final size, handling RTL layout and corner cell positioning.
Automatically adjusts the width of the specified column based on the space required by its content and header text.
public void BestFitColumn(ListViewDetailColumn column)
The ListViewDetailColumn to resize to optimal width.
Automatically adjusts the width of all columns based on the space required by their content and header text.
public void BestFitColumns()
Automatically adjusts the width of all columns based on the space required by their content and header text, using the specified best fit mode.
public void BestFitColumns(ListViewBestFitColumnMode mode)
The ListViewBestFitColumnMode defining the best fit calculation method.
Calculates the width required for the corner cell area, which accommodates checkboxes and toggle elements.
protected virtual float CalculateCornerCellWidth()
The calculated width for the corner cell area.
Determines whether this instance can execute a best fit columns operation based on element and owner state.
protected virtual bool CanBestFit()
True if best fit operation can be executed; otherwise, false.
Creates and configures the child elements including column container, horizontal scrollbar, and column scroller for the details view layout.
protected override void CreateChildElements()
Overrides:
Creates and returns a specialized view element container for details view layout and item management.
protected override VirtualizedStackContainer<ListViewDataItem> CreateViewElement()
VirtualizedStackContainer<ListViewDataItem>
A DetailsListViewContainer instance configured for details view functionality.
Overrides:
Ensures the specified column is visible within the column container by scrolling horizontally if necessary.
public virtual void EnsureColumnVisible(ListViewDetailColumn column)
The ListViewDetailColumn to make visible.
Core implementation for ensuring column visibility by calculating scroll offsets and updating the scrollbar position.
protected virtual void EnsureColumnVisibleCore(ListViewDetailColumn column)
The ListViewDetailColumn to ensure visibility for.
Gets the visual item at the specified location by traversing the element tree to find the containing visual item.
public override BaseListViewVisualItem GetVisualItemAt(Point location)
The location to test for visual item presence.
Returns:The BaseListViewVisualItem at the specified location, or null if none found.
Overrides:
Handles left arrow key navigation by moving to the previous column in the column traverser.
protected override void HandleLeftKey(KeyEventArgs e)
The KeyEventArgs containing key event data.
Overrides:
Handles right arrow key navigation by moving to the next column in the column traverser.
protected override void HandleRightKey(KeyEventArgs e)
The KeyEventArgs containing key event data.
Overrides:
Measures the desired size of the details view element including columns, scrollbars, and view content. Handles auto-sizing modes and corner cell width calculations.
Handles property change notifications, specifically updating scroll states for horizontal and vertical scrollbars.
protected override void OnNotifyPropertyChanged(string propertyName)
The name of the property that changed.
Overrides:
Handles pan gesture events for touch scrolling, supporting both vertical and horizontal scrolling within the details view.
protected override void OnPanGesture(PanGestureEventArgs args)
The PanGestureEventArgs containing gesture data.
Overrides:
Processes lasso selection within the details view, calculating item rectangles and determining selection based on intersection.
protected override void ProcessLassoSelection(Rectangle selectionRect)
The selection rectangle for lasso operations.
Overrides:
Processes mouse move events, handling column resizing cursor changes and column resize operations.
protected override bool ProcessMouseMove(MouseEventArgs e)
The MouseEventArgs containing mouse event data.
Returns:True if the mouse event was processed; otherwise, false.
Overrides:
Processes mouse up events, handling column sorting, item selection, checkbox toggling, and edit mode initiation.
protected override bool ProcessMouseUp(MouseEventArgs e)
The MouseEventArgs containing mouse event data.
Returns:True if the mouse event was processed; otherwise, false.
Overrides:
Determines whether the specified orientation is supported by the details view element. Details view only supports vertical orientation.
protected override bool SupportsOrientation(Orientation orientation)
The orientation to check for support.
Returns:True if vertical orientation; otherwise, false.
Overrides:
Updates scrollbar visibility and client sizes during measurement, ensuring proper scroll range calculations for both vertical and horizontal scrolling.