piDog Software
Home Xojo Bundle Download Buy About
Applications Telnet Launcher SimpleKeys JPEG4Web Hue GO! AppPrep TopHat Folders TopHat Apps
TheBigUndo ScrollingCanvas DataView ActivityViewer CalendarControl
Sign up to be notified of new versions of the piDog Modules for Xojo!
DataView for Xojo by piDog Software
DataView Documentation

DataView is a list control subclassed from piDogScrollingCanvas
piDog.DataView is a fast and flexible list viewer by piDog Software. Check out the features!
  • Animated Column reordering, Row Dragging, Folder Expansion and Collapse and optionally, CellHeights!
  • Retina capable
  • Handles millions of rows with ease
  • List is backed by a DataSource object. Subclass DataSource and manage your data your way!
  • Demo includes an example DataBase browser to get you started!
  • Independantly setable RowHeights.
  • Set Font attributes and colors for individual cells.
  • Optimized for Mac, Windows, and Linux
  • Drop in compatible with Xojo Listbox in most cases (let me know if I've missed something)
  • Receive Mouse Events in individual cells!
  • Supports Zoom In/Out
  • Optionally uses native NSScrollers under OSX
piDog.DataView is included with piDogScrollingCanvas!

Release Notes
  • [All] Fixed a bug when setting CellBackgroundColor
  • [All] Fixed initial inspector values to enable acceptFocus
  • [All] Now selects row 0 if no selection exists prior to keyboard navigation
  • [Win] Fixed cell clipping in Xojo 2016r3
  • [All] No longer redraws all visible cells when becoming active/inactive and gaining/losing focus
  • [All] Changed DataView.Refresh to DataView.Redraw to redraw all graphical elements
  • [All] Setting width/height via code now adjusts coords correctly
  • [All] Fixed coordinates in piDogScrollingCanvas when resizing the parent window
  • [All] Added DataSource override method for cellPicture
  • [All] Fixed Shift-Click behavior
  • [All] Dragging rows now sets a reasonable limit on the size of the dragging image
  • [All] Multiple Change events now coallesce into a single event
  • [All] SelCount optimised
  • [Demo] Changed main demo to use SelCount rather than SelectedRows.ubound in change event.
  • [All] Added notes to companion classes to help explain usage.
  • [All] DatePicker and PopupMenu now fire Action, Changed and CellTextChanged as appropriate
  • [All] Added SortedColumn for ListBox compatibility
  • [All] Added ScrollbarVertical and ScrollbarHorizontal for Listbox Compatibility
  • [All] ActiveCell now returns the current editing cell
  • [All] Cells with overlapping cells due to colspans now render correctly when resizing and reordering
  • [All] Fixed up some issues with editField when embedding DataView in a containerControl
  • [All] Fixed up some container allignment issues
  • [All] Fixed an issue using cellBackGroundColor on individual cells
  • [All] Headers now resume unclicked appearance if HeaderPressed returns true (press was handled)
  • [All] Fixed an issue with cells being improperly clipped
  • [Linux/Win] using decimalAlign now works as expected
  • [Mac] DatePicker now allows selecting currently selected date to dismiss
  • [Mac] Fixed a bug preventing trackpad clicks from registering on embedded containers in macOS 10.12
  • [Linux] Contextual Menu functions now function properly.
  • [New] Added cellPicture functionality
  • [All] Added support for Page Up/Down and Home/End keys
  • [All] Resizing columns now much faster and smoother
  • [All] Resizing columns with % or * values should no longer snap or bump after release
  • [All] Fix for dragging rows/cells not drawing rows, or drawing wrong rows.
  • [All] Fixes for gridline locations when resizing columns.
  • [Bug] GridX no longer contains an extra coord in GridlinePaint event
  • [Win] [Bug] Fixed checkbox drawing with high-contrast and classic theme on Windows
  • [Win] [Bug] Fixed possible crash when resizing DateChooser columns on Windows
  • [Win] Native Scrollers and progressbars now drawn more accurately on Windows Classic and high contrast themes
  • [Linux] Fix for scrollers in HIDPI
  • [Linux][Win] Minor fixes for DateChooser
  • [New] Added AccessColumnsByInsertionOrder property to DataView
  • [New] Added HeadingTextColor, HeadingTextBold, HeadingTextFont, HeadingTextSize and HeadingTextItalic to listColumn
  • [New] Added more cell formatting options to listColumn class
  • [New] Added AllowsUnderflow property to always fill available width of the view
  • [Bug] GridlinePaint event now sets maxy to fill the control if a partial row is visible
  • [Bug] GridlinePaint event now includes gridX coords for locked columns
  • [Bug] Resizing, Resized, and ScrollingLayerSizeChanged events now available in DataView
  • [Bug] Fixed possible outOfBounds exception when editing a cell
  • [Bug] Fixed Issue where view would scroll on mouseClick if using Native Scrollers on Mac
  • [Bug] Fixes for drag and drop on an On-Demand list.
  • [Bug[ Calls inside DataView now refer exclusively to datasource for cell/column info.
  • [Bug] Fixed minor glitches in Embedded cellContainers
  • [Bug] SortColumn no longer tries to sort on column(0) on open
  • [Bug] Fixed possible crash on quit
  • [Bug] Fixed some issues with column resizing
  • [All] Reorganized some inspector settings for ease of setup
  • [All] CellTextHeight now accounts for CellPadding
  • [All] Cancelling a Dragreorder by pressing escape now restores the list correctly again.
  • [All] Scrollers no longer apear when not needed.
  • [All] Now allows setting Various text formatting on checkbox, popup and datechooser cells.
  • [All] Embedded Containers now behave when resizing the window after clicking a container.
  • [All] TimerPDS now works correctly when dropped on a window
  • [All] Minor improvement in folder expand/collapse animation
  • [All] Added cellBackgroundPaintEnabled property to improve efficiency when only standard cell painting is needed
  • [All] RowHeight now returns defaultRowHeight if no row parameter is passed
  • [All] Added CellTextPaintEnabled property to improve performance when using standard cell painting
  • [All] Calendar and PopupMenus now fire on mouseup to allow dragging in popupmenu and calendar cells
  • [Mac] Minor optimization to cell rendering
  • [Mac] Resizing no longer causes unwanted scrolling
  • [Mac] Resizing with NativeScrollers no longer leaves blank area to right of scrolling area
  • [Mac] Resizing larger with view scrolled to the right no longer leaves empty space
  • [Win] Fixed a bug preventing running a project using DataView under Xojo 2015.*
  • [Win] Fixed blurry text on Windows
  • [Win] More Windows fixes for Xojo 2016r4
  • [Win] Now builds with Xojo 2014r2.1 again
  • [Win] Updated control rendering under classic and high contrast themes to work correctly
  • [Linux] Fixed an issue with rendering during multislect

  • [New] Added ColumnResizingMode to specify the resizing behavior when resizing the control. ie a window resize
  • [New] Added ColumnResizingUserMode to specify the behavior when the user is resizing a column by dragging the separator
  • [New] Added AutoResizeable to listColumn to allow exclusion of a column from autoresizing behavior.
  • [New] Added AllowsOverflow. True causes a horizontal scroller to be added when all columns are at minimum widths.
  • [New] Now uses textarea for multiline cells and textfield for truncated cells
  • [New] Added CellTextWrapMode and ListColumn.TextWrapMode
  • [New] Added ContextualMenu Support to Headings
  • [New] Added HeadingConstructContextualMenu and HeadingContextualMenuAction
  • [New] Added ListColumn.HeadingAlignment
  • [New] Added DrawInto method with optional hidescrollers parameter
  • [New] Added ColumnResize Event
  • [New] Added DragCells event
  • [New] Added accessor for cellBackgroundColor
  • [Change] GridlinePaint no longer includes coords obscured by locked columns
  • [Change] Removed ColumnWidthExpression. Use Column().WidthExpression instead.
  • [Change] Added CellLostFocus Event
  • [All] Fixed stackoverflow when dragging from an embedded dataView
  • [All] Fixed bad printing with multiline enabled
  • [All] Checkbox cells now truncate correctly again
  • [All] Fixed possible gap in background fill when zoom<>1
  • [All] CellEdited now fires as expected
  • [All] CellKeyDown now fires as expected
  • [All] CellAction And Change events now fire when the user selects a date in a dateChooser cell
  • [All] Improved selection speed when list contains millions of rows
  • [All] Column reorder animation now more natural
  • [All] Now allows mouse actions to pass through above top of vert scroller. (In header)
  • [All] Added DrawInto method with optional hidescrollers parameter
  • [All] Added listColumn.Hidden property
  • [Mac] Some fixes for NSScroller scroll-on-drag
  • [Mac] Fixed a bug preventing backdropimage and backgroundpattern being drawn in 64bit builds
  • [Mac] Fixed vertical alignment when font is not found
  • [WIndows] Fixes for HIDPI mode
  • [Linux] Fixed a glitch in Linux scrolling when CellEdit scrolls out-of-view
  • [Linux] Added support for display scaling
  • [Linux] CellEdit now scrolls with the view nicely
Try it out for free! Download the demo project to see how it works. If you decide to use it in a production app, just buy a license code and plug it in.

Includes one year of updates!
1 year begins today or at the expiration of current license, whichever is later.
Includes one full year of updates!

1 year begins today or at the expiration of current license, whichever is later.
Includes all the piDog Modules!