Releases: w-ahmad/WinUI.TableView
Releases ยท w-ahmad/WinUI.TableView
v1.3.1
What's New
- Use WinUI.TableView on all Uno Platform targets including Android & iOS.
- Cell and Row context flyout now works with Uno.
- Added ru-RU translations by @slick1983 in #145
- Exposed
CellSelectionChanged
event #151 - Exposed
CurrentCellChanged
event #151 - Exposed
CurrentCellSlot
property #151
Fixes
- Fixed row and cell selection on Uno platform #147
- Fixed double tap cell edit issue when
SelectionUnit
is set toRow
#149 - Fixed cell focus jump issue with Escape key #150
- Fixed TimePicker column issue with formatting and flyout opening.
- Fixed issue where selected row doesn't show properly at the top.
- Fixed cell focus issue on Uno.
- Fixed issue where template selector wasn't working in template column #153 @w-ahmad
New Contributors
- @slick1983 made their first contribution in #145
Full Changelog: v1.3.0...v1.3.1
v1.3.0
๐ Highlights
- Upgraded to .NET8
- Added Uno Platform Support
- Localization Support
- GridLines support
- Cell & Row Context Flyout
- Custom Sorting and Filtering
What's New
- Localization support: added localization support to the control. thanks to @VisualAlf for de-DE translations and @arthurits for es-ES translations. #113, #116, #126
- Gridlines: Adding support for customizable horizontal and vertical gridlines. These gridlines are enabled by default but can be turned off using
HeaderGridLinesVisibility
,GridLinesVisibility
properties. Other related properties areVerticalGridLinesStrokeThickness
,HorizontalGridLinesStrokeThickness
,VerticalGridLinesStroke
,HorizontalGridLinesStroke
. #74 - Alternate Row Colors: Adding support for alternate row background and foreground colors. You can set these colors to
AlternateRowBackground
andAlternateRowForeground
properties. #83, #21. - Cell & Row Context Flyout: Added support for context flyouts on cells and rows, enabling custom actions via right-click menus. You can set cell context flyout to
CellContextFlyout
and row context flyout toRowContextFlyout
. #85, #38. - Custom Sorting and Filtering: Implemented
IColumnFilterHandler
and introducedSorting
,ClearSorting
events for allowing developers to define custom logic for data manipulation. #98, #30, #55, #77, #92. - Three-State Column Sorting: Enhanced sorting functionality to include three states (Ascending, Descending, and None) for better user experience. #98, #37.
- Corner Button Mode: Implemented
CornerButtonMode
to choose corner button functionality. With this implementationShowOptionsButton
property is replaced withCornerButtonMode
property. #80, #23. - Tag Property:
Tag
property is added to theTableViewColumn
type. #84, #49. - Customize Column Headers: Column headers style can be set through
TableView.ColumnHeaderStyle
andTableViewColumn.HeaderStyle
. - Customize Cells styles: Cell style can be set through
TableView.CellStyle
andTableViewColumn.CellStyle
. - Element & Editing Element Style:
TableViewBoundColumn
elements and editing elements style can be set throughElementStyle
and `EditingElementStyle. - Added
RowMinHeight
property. #110 - Added
PlaceholderText
property for TimeColumn. - Exposed
ScrollRowIntoView
andScrollCellIntoView
methods. #123 - Ensure cells when using different
ItemsPanel
other thanItemsStackPanel
. - Disallow selection and option buttons while editing.
New Column Types
- TableViewDateColumn โ Supports
DateTimeOffset
,DateTime
, andDateOnly
, allowing better handling of date-based data. #87. This type of column uses newTableViewDatePicker
control that is designed to work with multiple data types. - TableViewTimeColumn โ Supports
DateTimeOffset
,DateTime
,TimeOnly
, andTimeSpan
, improving time-based data representation. #87. This type of column uses newTableViewTimePicker
control that is designed to work with multiple data types.
What's Changed
AdvancedCollectionView
from Community Toolkit is replaced with custom typeCollectionView
. This change allows better handling of items and offers good features integration with TableView. #91
Fixes
- Fixed select all check box fast click issue. #61, #81
- Crashes by empty property paths in column binding is fixed. #42, #91
- Fixed a crash when there are null values in primitive type column. #89, #91
Breaking Changes
ShowOptionsButton
property has been removed in favor ofCornerButtonMode
property.CollectionView
property is now of typeICollectionView
.
Known Issues
- Changing grid line thickness or visibility property at runtime may lead to unexpected layouts of column headers and row cells. This is due to an issue in
ItemsStackPanel
microsoft/microsoft-ui-xaml#9860
New Contributors
Full Changelog: v1.2.2...v1.3.0
v1.3.0-preview2
Uno Platform Support
This release adds Uno Platform support to WinUI.TableView, enabling compatibility with WASM, macOS, and Linux.
What's New
- Added
RowMinHeight
property. #110 - Added localization support, thanks to @VisualAlf for de-DE translations and @arthurits for es-ES translations. #113, #116, #126
- Added
PlaceholderText
property for TimeColumn. - Exposed
ScrollRowIntoView
andScrollCellIntoView
methods. #123
What's Changed
- Fixed vertical grid lines visibility issue.
- Fixed alternate row colors issue with theme changes. #95
- Fixed date column placeholder text issue.
- Fire ContextFlyoutOpened even if Flyout is null by @VisualAlf in #108
- Changed default types for date and time column in #124
New Contributors
- @VisualAlf made their first contribution in #108
- @arthurits made their first contribution in #126
Full Changelog: v1.3.0-preview1...v1.3.0-preview2
v1.3.0-preview1
Upgraded to .NET8
What's New
- Gridlines: Adding support for customizable horizontal and vertical gridlines. These gridlines are enabled by default but can be turned off using
HeaderGridLinesVisibility
,GridLinesVisibility
properties. Other releated properties areVerticalGridLinesStrokeThickness
,HorizontalGridLinesStrokeThickness
,VerticalGridLinesStroke
,HorizontalGridLinesStroke
. #74 - Alternate Row Colors: Adding support for alternate row background and foreground colors. You can set these colors to
AlternateRowBackground
andAlternateRowForeground
properties. #83, #21. - Cell & Row Context Flyout: Added support for context flyouts on cells and rows, enabling custom actions via right-click menus. You can set cell context flyout to
CellContextFlyout
and row context flyout toRowContextFlyout
. #85, #38. - Custom Sorting and Filtering: Implemented
IColumnFilterHandler
and introduceedSorting
,ClearSorting
events for allowing developers to define custom logic for data manipulation. #98, #30, #55, #77, #92. - Three-State Column Sorting: Enhanced sorting functionality to include three states (Ascending, Descending, and None) for better user experience. #98, #37.
- Corner Button Mode: Implemented
CornerButtonMode
to choose corner button functionality. With this implementationShowOptionsButton
property is replaced withCornerButtonMode
property. #80, #23. - Tag Property:
Tag
property is added to theTableViewColumn
type. #84, #49. - Customize Column Headers: Column headers style can be set through
TableView.ColumnHeaderStyle
and `TableViewColumn.HeaderStyle. - Customize Cells styles: Cell style can be set through
TableView.CellStyle
and `TableViewColumn.CellStyle. - Element & Editing Element Style:
TableViewBoundColumn
elements and editing elements style can be set througElementStyle
and `EditingElementStyle.
New Column Types
- TableViewDateColumn โ Supports
DateTimeOffset
,DateTime
, andDateOnly
, allowing better handling of date-based data. #87. This type of column uses newTableViewDatePicker
control that is designed to work with multiple data types. - TableViewTimeColumn โ Supports
DateTimeOffset
,DateTime
,TimeOnly
, andTimeSpan
, improving time-based data representation. #87. This type of column uses newTableViewTimePicker
control that is designed to work with multiple data types.
What's Changed
AdvancedCollectionView
from Community Toolkit is replaced with custom typeCollectionView
. This change allows better handling of items and offers good features integration with TableView. #91
Fixes
- Fixed select all check box fast click issue. #61, #81
- Crashes by empty property paths in column binding is fixed. #42, #91
- Fixed a crash when there are null values in primitive type column. #89, #91
Breaking Changes
ShowOptionsButton
property has been removed.CollectionView
property is now of typeICollectionView
.
Known Issues
- Changing grid line thickness or visibility proeprty at runtime may lead to unexpected layouts of column headers and row cells. This is due to an issue in
ItemsStackPanel
microsoft/microsoft-ui-xaml#9860
Full Changelog: v1.2.2...v1.3.0-preview1
v1.2.2
What's Changed
- Row drag/drop/reorder is working again
- fixed memory leaks with multiple instances of control in #66
- major performance improvemed of column filter flyout in #67
- fixed row navigation with arrow keys when
SelectionUnit
is set toRow
. - fixed row selection issues by using base class implementations
- bind row height property to the
TableView.RowHeight
in #59 - fixed nuget symbol links
Breaking changes
Below dependency properties are now standard properties:
TableViewRow.TableView
TableViewCell.TableView
TableViewCell.TableViewColumn
TableViewCell.TableViewRow
Full Changelog: v1.2.1...v1.2.2
v1.2.1
What's Changed
-
Improved cell & row navigation performance
- Foxed a crash when visibility was set to collapsed at startup #35 #40
- Fixed CheckBox & ToggleSwitch column IsReadOnly #36 #44
- Fixed possible null exception by null annotations #43 #47
- Fixed cell & row navigation behaviors #45
- Fixed current cell highlight behavior #45 #46
- Added source link symbol package
Full Changelog: v1.2.0...v1.2.1
v1.2.0
What's New
- Introduced
CellTemplateSelector
andEditingTemplateSelector
properties inTableViewTemplateColumn
- Introduced
MinColumnWidth
andMaxColumnWidth
properties in TableView to set min and max widths for all the columns. These properties can be overridden by settingMinWidth
andMaxWidth
properties for each column. - Added
Visibility
property for columns to hide or show columns at runtime - Added new properties in
ComboBoxColumn
IsEditable
makes the ComboBox editable.TextBidning
allow to bindComboBox.Text
propertySelectedValueBinding
allow to bindComboBox.SelectedValue
.
- Implemented column auto sizing by using
GridLength
asWidth
type. The default value for column is now set toGridLength.Auto
. - Implemented cell selection support so user can select individual cells
- Added new property
SelectionUnit
to choose selection behavior. Available options are:CellOrRow
(Default) user can select rows or cells according to theSelectionMode
property'Cell
user can only select cells according to theSelectionMode
property'Row
user can only select rows according to theSelectionMode
property'
- Exposed
GenerateElement
andGenerateEditingElement
for columns.
Bug Fixes
- Fixed an issue with short keys, sometime the short keys were not working at startup. #25
- Fixed cell layout issue when the size was narrower than the desired width of cell. (temp fix until microsoft/microsoft-ui-xaml#9860 fixed)
- Improved code to pick right column type when auto generating columns.
- Fixed an issue with cell width clamp in min & max widths.
- Removed a separator at the end of options flyout when export options are hidden.
Breaking Changes
- Setting columns widths from code-behind would need adjustments to use
GridLength
as width. - Some methods, events, and event argument classes have been renamed to better align with the manipulation of cell or row content:
GetSelectedRowsContent
toGetSelectedContent
GetAllRowsContent
toGetAllContent
OnExportSelectedRowsContent
toOnExportSelectedContent
OnExportAllRowsContent
toOnExportAllContent
ExportSelectedRowsContent
toExportSelectedContent
ExportAllRowsContent
toExportAllContent
TableViewExportRowsContentEventArgs
toTableViewExportContentEventArgs
Known issues
- Duplicate items in
ItemsSource
can lead to unexpected cell or row navigation behavior. microsoft/microsoft-ui-xaml#9803
Full Changelog: v1.1.1...v1.2.0
v1.2.0-preview2
What's New
- Introduced
CellTemplateSelector
andEditingTemplateSelector
properties inTableViewTemplateColumn
- There won't be a separator at the end of options flyout when export options are hidden.
Bug Fixes
- Fixed an issue where
ComboBox
ofTableViewComboBoxColumn
was not able to open. - Fixed an issue with short keys, sometime the short keys were not working at startup. #25
- Fixed cell selection issue when there is an active column filter. (known issue from previous release)
- Fixed cell layout issue when the size was narrower than the desired width of cell. (known issue from previous release)
- Fixed an issue where cells were not able to select when there is only one column.
Known issues
- Duplicate items in
ItemsSource
can lead to unexpected cell or row navigation behavior.
Full Changelog: v1.2.0-preview1...v1.2.0-preview2
v1.2.0-preview1
What's New
- Introduced
MinColumnWidth
andMaxColumnWidth
properties in TableView to set min and max widths for all the columns. These properties can be overridden by settingMinWidth
andMaxWidth
properties for each column. - Added
Visibility
property for columns to hide or show columns at runtime - Added new properties in
ComboBoxColumn
IsEditable
makes the ComboBox editable.TextBidning
allow to bindComboBox.Text
propertySelectedValueBinding
allow to bindComboBox.SelectedValue
.
- Implemented column auto sizing by using
GridLength
asWidth
type. The default value for column is now set toGridLength.Auto
. - Implemented cell selection support so user can select individual cells
- Added new property
SelectionUnit
to choose selection behavior. Available options are:CellOrRow
(Default) user can select rows or cells according to theSelectionMode
property'Cell
user can only select cells according to theSelectionMode
property'Row
user can only select rows according to theSelectionMode
property'
- Exposed
GenerateElement
andGenerateEditingElement
for columns.
Breaking Changes
- Setting columns widths from code-behind would need adjustments to use
GridLength
as width. - Some methods, events, and event argument classes have been renamed to better align with the manipulation of cell or row content:
GetSelectedRowsContent
toGetSelectedContent
GetAllRowsContent
toGetAllContent
OnExportSelectedRowsContent
toOnExportSelectedContent
OnExportAllRowsContent
toOnExportAllContent
ExportSelectedRowsContent
toExportSelectedContent
ExportAllRowsContent
toExportAllContent
TableViewExportRowsContentEventArgs
toTableViewExportContentEventArgs
Known issues
- Duplicate items in
ItemsSource
can lead to unexpected cell or row navigation behavior. - When the column width is too narrow for the cell's desired width, there would be some layout issues, resulting in the appearance of the right edge being clipped.
- When a filter is applied to any column, cell selection may not function correctly or may behave improperly.
Full Changelog: v1.1.1...v1.2.0-preview1
v1.1.1
v1.1.1 Release Notes
- Enhanced filter flyout functionality and user interface
- Changed the default HeaderRowWidth from 48 to 32 (it was previously 32 until version 1.1.0).
- Make the vertical scrollbar to display under the header row
- Implemented auto resizing column by double clicking on resize area
Fixes
- Fixed column header resize issue when
CanFilter
set to false - Fixed an issue where column resize was using next columns max & min width
Full Changelog: v1.1.0...v1.1.1