DataView for Xojo by piDog Software
DataView is a list control subclassed from
piDog.DataView is a fast and flexible list viewer by piDog Software.
Check out the features!
piDog.DataView is included with piDogScrollingCanvas!
- 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
- [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