Android DataGrid - version 2.0 released!

clock January 26, 2015 02:30 by author Administrator

It is with great pleasure and excitement that we are releasing the next version of our Android JetPack Android DataGrid product!

We have listened to your feature requests, worked hard on fixing bugs, improving performance, and creating tons of examples and documentation for you!

So, without further ado, presenting, Android JetPack Android DataGrid v2.0

Features & Enhancements:

-> Significantly improved, downloadable, indexed and searchable user guide. More Details here

-> Implemented the custom date range picker : More details and screenshot here

-> Added support for Custom Date Ranges : More details here

-> Added support for preference persistence, and added examples to the user guide to show how to persist the state of the grid.

-> Enhanced the TextInputFilter (Edit Text Filter) with AutoComplete, Icon Support, and Hint. More details here.

-> Added the new itemLongClick event, when the user long presses a cell, this event will be dispatched.

-> Added support for columnWidthMode fixed and fitToContent. If you set columnWidthMode="fitToContent", the grid will automatically determine the longest string to be displayed and size the column wide enough to fit that string.

-> The grid will draw its own borders now.

-> The Alternating item colors will contine to fill the grid if there is no data, so it does not show a blank area if the grid does not have enough data to fill up the entire height of the grid

-> Added support for the headerAlign property, to align header cells.


Bug Fixes:

-> In certain scenarios, when you scroll to the right and scroll back quickly, certain areas of the grid did not paint correctly

-> When you scroll left and right, the header text of some columns did not refresh (if the cells are recycled, they retained the previous cells value)

-> Date ComboBox Filter was not working

-> ComboBox filter in certain scenarios was filtering on the last chosen value.

-> In the Editable Grid samples, when the keyboard was dismissed, the grid was blank. 

-> For MultiSelectComboBox, selecting all items continued to run the filter, instead of behaving as if nothing was selected.

-> The flag useLabelFunctionForFilterCompare was being ignored.

-> Bug Fix in calculation of the Last,This and Next week date range values.

-> labelFunction2, and footerFormatterPrecision were not being executed

-> On the settings popup, the pageSize checkbox was shown even if enablePaging was set to false

-> Fix for thickness of vertical and horizontal gridlines not working + fix for excludeFromSettings not working

-> Fix bug with expand collapse icon showing up where it should not.

Performance Optmizations:

->  Enhanced performance of filtering operations

-> Optmizied vertical scrolling performance (please ensure you are not running in debug mode)


We are very excited with this new release, and are looking forward to your feedback. Good or bad, we want to hear it! We work very hard to make sure that our product meets your requirements, and we want to hear your opinions and your ideas on how we can improve!

A Number of Enhancements for the TextInput(EditText) Filter

clock January 26, 2015 01:47 by author Administrator

The TextInput (EditText) filter is by far the most commonly used filter, and along with the MultiSelect filter, plays a very important role in making the user interface intuitive and easy to use. With the 2.0 release, we have made it all the more powerful!

Take a look at the following markup to declare the textinput filter:

            <column id="colId" dataField="id" headerText="ID"

filterWaterMark="Search" enableFilterAutoComplete="true" filterComboBoxBuildFromGrid="true" filterIcon="executeMethodOnDelegate__getImageResourceSearch" clearFilterOnIconClick="true"

                    columnLockMode="left" columnWidthMode="fitToContent"  textAlign="center"


                    filterControl="TextInput" filterOperation="BeginsWith" />

The underlined section of this configuration demonstrates a number of new features added to the textinput filter

-> The filterWaterMark will cause the TextInput to show a hint

-> The enableFilterAutoComplete flag will cause it to be auto complete enabled

-> The filterComboBoxBuildFromGrid will cause it to build the list of autocomplete values automatically from the grid data

-> The filterIcon will show the icon resoruce returned by the getImageResourceSearch method on your delegate within the TextInput Filter

-> The clearFilterOnIconClick will cause the textinput filter to clear when the icon is clicked!


Together, these enhancements make the textinput filter very versatile and powerful!

Take a look at the screenshot!


Custom Date Range Picker Added

clock January 26, 2015 01:29 by author Administrator

As a part of the newly released 2.0 version, we have implemeted an extension to the DateComboBox that lets you pick custom date ranges. We have also added the ability to define custom date ranges. By default, the grid ships with a number of default date ranges. These are listed below. You can customize which ranges appear by using configuration similar to this:

            <column  itemEditorApplyOnValueCommit="true"

                    id="date" dataField="addedDate" headerText="Date Added"

                    filterControl="DateComboBox" labelFunction="dataGridFormatDateLabelFunction"



The two enhancements in 2.0 are the additoin of the Custom Date Range Picker, as well as the ability for you to define your own Date Ranges and register them. Below is the screenshot of the custom date range picker:



New Settings Popup

clock January 26, 2015 01:02 by author Administrator

As a part of the Android JetPack 2.0 release, a much requested feature, reordering of columns has been added. The demo files have been updated, but for those of you who have purchased or are currently using the the 1.x versions, when you upgrade, you will need to do the following things:1)  1) 

1) Replace the flxs_settings_dialog.xml with the one at the bottom of this post
2) Place the flxs_column_settings_grid.xml at the bottom of this file into the raw folder of your app, next to flxs_default_styles.json
3) If you have customized the SettingsActivity (by using Constants.SETTINGS_POPUP_ACTIVITY = CustomSettingsActivity.class;) then you will need to use the newer version of the SettingsActivity, also at the bottom of this post, and make your modifications to it.

For those of you who cannot wait to see what this looks like, below is a screenshot - Note that if you have grouped columns (column groups) the setting popup shows a tree - which makes sense because you cannot re-order a column out of its group, and you can move entire groups around! For grids that do not have  column groups, you will not see a tree structure, you will see a simple list of columns which you can reorder and show/hide.




flxs_settings_dialog.xml (3.86 kb)

flxs_column_settings_grid.xml (1,002.00 bytes) (19.37 kb)

All New Documentation!

clock January 26, 2015 01:00 by author Administrator

We have released a ton of updates to the user guide. In addition, it is no longer a bulky doc file, but a searchable, organized, library of topics arranged in a natural progression. We also have it available for download in various different formats!

Although it is still a work in progress, it is much better than what we had before, so please feel free to share feedback, we are continuing to work on it and improve it for you!

Version 2.0 about to be released

clock January 14, 2015 05:20 by author Administrator

We are wrapping up work on the upcoming release of Android JetPack. We have numerous bug fixes and features added to this release. We are looking for beta testers. If you have downloaded a trial in the past, or have purchased the library, please contact us using our contact us form, we would be glad to get you the beta trial.

Customizing the Pager (Toolbar), Export Options, Settings and Save Settings Popups

clock January 7, 2015 16:15 by author Administrator

All our products ship with a lot of functionality that comes with its own UI.

  1. The toolbars on top of each datagrid have their own UI
  2. The export comes with its own export type and column picker
  3. The print comes with the print column picker and the print preview window
  4. The user settings persistence mechanism comes with its own popup to save and set preferences


So, that said, the first thing you should know is that we have built in a mechanism  that allows you to customize this UI, whether it be for localization purposes, or for customization of functionality.

First, lets focus on the popups :

Customizing the layout is the easy part, since these are already in the layout folder for you, and not in the core library. : /SinglePageTest/res/layout


  1. flxs_export_dialog.xml
  2. flxs_save_settings_dialog.xml
  3. flxs_settings_dialog.xml


The actual code behind these layouts are in the associated activity classes. However, the grid uses the Constants class to get to the class of the activity. So we can specify our own classes:


  1. Constants.SETTINGS_POPUP_ACTIVITY = CustomSettingsActivity.class;
  2. Constants.SAVE_SETTINGS_POPUP_ACTIVITY= CustomSaveSettingsActivity.class;
  3. Constants.EXPORT_POPUP_ACTIVITY = CustomExportActivity.class;


And thats it! you can have your own code for these popups. The attached project demonstrates how this is done.

Finally, for the toolbar, since we render the toolbar everytime the grid is rendered, we have made it using better performing pure Java based view code, as opposed to inflating a layout. In the attached sample project, the full code for the custom toolbar is included ( And the way you plug it in is also shown:

grid.setPagerRenderer(new ClassFactory(CustomPagerControlAS.class));

Please review the project that is attached below, it should be pretty easy to follow once you have reviewed the blog post. When you run the project, you should get: (1.91 mb)

UPDATE : Please note, that version 2.0 has been released and included a number of enhancements to the SettingsPopup. If you are using the code above with the library of version 2.0 or higher,  please refer to the blog post for the files you will need to update. 


AndroidJetPack Team Blog

Tag cloud