In my previous post Shared XrmToolbox Controls: Entities List View, I discussed building reusable User Controls intended to help myself and other developers build XrmToolbox plugins. Basically, with all the time I saved by using Tanguy Touzard’s XrmToolbox, I hope to save myself and other developers time, allowing them develop new cool tools that help the community!
My first project in this effort is an Entities List View Control: encapsulate the work in presenting a sortable, filterable, interactive list of Entities the XrmToolbox user. I ported my existing code from my TypeScript Helper Class Utility XrmToolbox plugin since it already met all of my initial requirements. Check out my earlier post New Version of the TypeScript Helper Class Utility for more information about this tool.
Ready for testing!
I have finished up the updates I outlined in my last post and uploaded the code to GitHub for everyone to review! The solution contains both the Entities List user control and a simple XrmToolbox plugin for testing. I have a few additional options in mind, but I wanted to get this code out for everyone to use and test. The more feedback, the better!
A quick list of features for this first release:
- Users can check one or more items in the List View
- Toolbar included for users to load entities, check list items, and filter the list by keyword
- Methods to control most actions, such as loading Entities or filtering the list view
- Properties for accessing EntityMetadata objects such as All Items, Selected Item, and Checked Items
- Properties to hide or show the toolbar and List View check boxes
- Properties to indicate Compact or Standard view of List View columns, each column supporting Sort
- Properties to specify load of System, Custom, or both types of Entities
- Extended events for activities such checked items changed or load Entities complete
- Objects that provide advanced Entities list prefiltering by keyword or regular expression
- Entities will load asynchronously using the common XrmToolbox WorkAsync objects
In the screen capture below, you can view the tester plugin with the user control, the runtime properties, and a list of events that have fired. This sample includes only a few lines of code to set up the control on the form with some event handlers to update the list with the fired events.
This first iteration includes the control I’ve found in several plugins, and I aim to provide additional components for common XrmToolbox design scenarios. I am hoping that this new control and additions to this project will help developers like myself quickly release new plugins to the community.
Check out the code at our GitHub repository here: Futurez.XrmToolbox.Controls. I’ve added some detailed notes on the Wiki page that you can access here: Futurez.XrmToolbox.Controls/wiki. This should be enough to get anyone started testing the Entities List View user control. As I continue with updates and add new controls to the project, I will update the Wiki and related test projects included in the code.
Questions, issues, suggestions, and general feedback can be provided in the Issues section of the repository!