mDataGrids - Sticky columns, headers & more for Data Grids Widgets

Content Type: Module
Categories: User Interface

Overview

mDataGrids enables you to create sticky columns on the left or/and right side of a Data Grid, Data Grid 2 and Dynamic Data Grid! Comes with additional features (listed below) to enhance your Data Grids.

Download and add the UI Module, press F4 within Mendix Studio Pro and behold all the Data Grid options within your appearance tab.

 

Data Grid features:

  • Sticky columns: Makes the first or/and last column sticky while scrolling. NOTE: Please use fixed column sizes for this.    
  • Display full content: Allows you to display the full content/text of a column. You can also limit the amount of content/text to a max number of lines.
  • Compact view: Makes the grid compact.

 

Data Grid 2 features: 

  • Sticky columns: Makes the first or/and last column sticky while scrolling. NOTE: Please disable Resizing within the Personalization tab.
  • Sticky header: Makes the sticky while scrolling. NOTE: this will set a max-height on the data grid.
  • Data grid height: Changes the max-height of the data grid set by the sticky header.
  • Display full content: Allows you to display the full content/text of a column. You can also limit the amount of content/text to a max number of lines.
  • Compact view: Makes the grid compact.
  • Column width: Gives each column a minimal width.
  • Sticky first column width: Gives sticky first column a minimal width. This will overwrite 'Column Width' for the sticky columns.
  • Sticky last column width: Gives sticky last column a minimal width. This will overwrite 'Column Width' for the sticky columns.

 

Dynamic Data Grid features: 

  • Sticky columns: Makes the first or/and last column sticky while scrolling.
  • Sticky header: Makes the sticky while scrolling. NOTE: this will set a max-height on the data grid.
  • Data grid height: Changes the max-height of the data grid set by the sticky header.
  • Display full content: Allows you to display the full content/text of a column. You can also limit the amount of content/text to a max number of lines.
  • Compact view: Makes the grid compact.
  • Column width: Gives each column a minimal width.
  • Sticky first column width: Gives sticky first column a minimal width. This will overwrite 'Column Width' for the sticky columns.
  • Sticky last column width: Gives sticky last column a minimal width. This will overwrite 'Column Width' for the sticky columns.

 

Check out my other UI Modules:

 

Connect with me on

LinkedIn! https://www.linkedin.com/in/mauritspdekoning/ 

 

 

Documentation

https://youtu.be/sfhzuE99d14
Demo urlhttps://mauritsdesignkit-sandbox.mxapps.io/p/datagrids

Typical usage scenario

mDataGrids enables you to create sticky columns on the left or/and right side of a Data Grid, Data Grid 2 and Dynamic Data Grid! Comes with additional features (listed below) to enhance your Data Grids.

Download and add the UI Module, press F4 within Mendix Studio Pro and behold all the Data Grid options within your appearance tab.

 

Features and limitations

  • Works on Data Grid
  • Works on Data Grid 2
  • Works on Dynamic Data Grid
  • Web only

 

Data Grid features:

  • Sticky columns: Makes the first or/and last column sticky while scrolling. NOTE: Please use fixed column sizes for this.    
  • Display full content: Allows you to display the full content/text of a column. You can also limit the amount of content/text to a max number of lines.
  • Compact view: Makes the grid compact.

 

Data Grid 2 features: 

  • Sticky columns: Makes the first or/and last column sticky while scrolling. NOTE: Please disable Resizing within the Personalization tab.
  • Sticky header: Makes the sticky while scrolling. NOTE: this will set a max-height on the data grid.
  • Data grid height: Changes the max-height of the data grid set by the sticky header.
  • Display full content: Allows you to display the full content/text of a column. You can also limit the amount of content/text to a max number of lines.
  • Compact view: Makes the grid compact.
  • Column width: Gives each column a minimal width.
  • Sticky first column width: Gives sticky first column a minimal width. This will overwrite 'Column Width' for the sticky columns.
  • Sticky last column width: Gives sticky last column a minimal width. This will overwrite 'Column Width' for the sticky columns.

 

Dynamic Data Grid features: 

  • Sticky columns: Makes the first or/and last column sticky while scrolling.
  • Sticky header: Makes the sticky while scrolling. NOTE: this will set a max-height on the data grid.
  • Data grid height: Changes the max-height of the data grid set by the sticky header.
  • Display full content: Allows you to display the full content/text of a column. You can also limit the amount of content/text to a max number of lines.
  • Compact view: Makes the grid compact.
  • Column width: Gives each column a minimal width.
  • Sticky first column width: Gives sticky first column a minimal width. This will overwrite 'Column Width' for the sticky columns.
  • Sticky last column width: Gives sticky last column a minimal width. This will overwrite 'Column Width' for the sticky columns.

 

Check out my other UI Modules:

 

Dependencies

  • Mendix 9.24.0. and up.
  • custom-variables.scss stylesheet to be present in the Theme folder (this should be the default).

 

Installation

Download and add the UI Module, press F4 within Mendix Studio Pro and behold all the Data Grid options within your appearance tab.

 

Configuration

Some configuration is required. No worries, this is very easy to do: Data Grid: Please use Pixels instead of Percentage. Otherwise, some buggy behavior might appear. Explanation: to show the scrollbar and sticky columns, it needs to overflow after a certain number of pixels. If you set the units to percentage then no overflow will happen.

Data Grid 2: Please disable the option Resizing. Otherwise, some behavior might appear. Explanation: due the nature of Data Grid 2 it will try to resize, even when this is not possible with the min width of that columns which is need for the sticky columns.

 

Known bugs

Not a bug, but something to watch out for. When using Sticky first column and Sticky last column, both columns can overlap when the width of the screen is too small. You can try to reduce the column width for these columns and/or disable Sticky last column to remedy this.

 

Legal notice

Copyright (c) 2024 Maurits de Koning.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Releases

Version: 1.3.0
Framework Version: 9.24.0
Release Notes: - Now supports sticky headers for Data Grid 2 and Dynamic Data Grid.
Version: 1.2.0
Framework Version: 9.24.0
Release Notes: - Added support for Dynamic Data Grid widget from Clevr. - Added support for the hiding feature on Data Grid 2. - Updated minimum version to LTS 9.24.0.
Version: 1.1.0
Framework Version: 9.18.0
Release Notes: - Upgraded Mendix minimum version to Mendix 9.18.0 to ensure compatibility with Mendix 10.