The SalesLogix Sales Dashboard by default typically returns the top 5 value metrics for the various standard screens. I have received a couple questions if this can be changed to default more or less rows. The answer is yes! I plan to post a series of detailed posts explaining how the dashboard works. For the purpose of changing the default number of rows that display you just need to know most of the code that defines how the interface is presented exists in one of two included scripts.
The first script “Content Set Support” handles building the GUI for all of the standard dashboard screens except for the Key Performance Indicators tab. For that tab, the “KPI Support” script is used. For the KPI screen there is no default number of rows displayed, it simply shows all of the KPIs that are defined.
For all of the other screens the “Content Set Support” script handles the behavior of the screens and their associated drill-down screens. If you open the script in Architect you can look for the Private sub-routine for the Content Set class called “Class_initialize” that starts around line 294 in the base script. If you look at the variable declarations at the start of this sub-routine you will see one on line 306 called mMaxRows. You will see it is looks like this:
mMaxRows = 5
Changing the integer value that this variable is being set to can determine the default number of rows that appear when any of the dashboard screens open.
mMaxRows = 7 ‘this would show 7 rows instead of the default 5
Now this is just the default value that is used. Each screen itself may also have there own defined number of rows that are set. The details of this is not stored within the Form plugin but rather in the XML files used by each screen. For instance, if you look at the Open Opportunities screen in the Sales Dashboard you will see it shows the top 5 entries for the data selected, regardless of what was placed in the “Content Set Support” script. That is because within the “Content Set Support” script there is a private sub-routine called InitialXML that will read the screen’s associated XML file and use an attribute in the XML file called “SMaxRows” or “LMaxRows”.
If mMode = cMODE_DASHBOARD Then
mMaxRows = objContentSetsNodes.Item(0).selectSingleNode(“//ContentSet/SMaxRows”).Text ‘DNL
mUseFilters = False
mMaxRows = objContentSetsNodes.Item(0).selectSingleNode(“//ContentSet/LMaxRows”).Text ‘DNL
mUseFilters = True
The “SMaxRows” attribute is used for the primary dashboard screen contents. The “LMaxRows” is the attribute used in the drill-down screen off the main screen. You could for instance set the first screen to default to 7 and the drill down to default to return 10 rows.
If we look at the XML for the Open Opportunities screen (This is a Text plugin type) we can see towards the top of the XML there is a ContentSet attribute called SMaxRows and LMaxRows.
<?xml version=”1.0″ ?>
Configuration file for Content Sets.
Copyright 2006, Sage Software
Changing the values of these attributes will change the default number of rows for any screens that utilizes this particular XML file for its data source.