Control of Grids, Lists and Columns Using the Client Side API

1 minute read time.

The Client Side API contains methods that make it much easier to select rows, columns and individual cells for manipulation. Properties can be set, new data displayed in tool tips and the style of each cell can be changed.

The documentation contains a good discussion of how to use the API. You can see the online help for the new API Grid options here.

Below are some simple business rule examples that show how easy it is to be able to find and control the display of data in a Grid.

All of the examples below can be tested by adding them into the Custom Content box of the OpportunityList block.


The first example shows how you can highlight a particular column.

[code language="javascript"]


The method highlightCell() allows you to pass in any Web Colour. See

The highlightCell() method also allows you to pass a HTML DOM Style object in JSON notation that describes the properties of the style to be used. See the documentation.


This script will highlight all opportunities that have been quoted.

[code language="javascript"]


The rule uses the filterWhere() method. This has 3 parameters, the first is the column name, the second is the selector used. You can see which ones can be passed in the API documentation.

The third parameter is the value used to filter the Grid. In this case a string has been passed but this needs to be handled as a translated as the value in the database 'Quoted' is not that which is displayed in the interface 'Proposal Submitted' for English language users.


The final example in this article will highlight all cells in the Grid which match a particular criterion. In this case, the cells will be highlighted where the text of the Opportunity Description field contains a keyword 'Deal'.

[code language="javascript"]


The examples of highlighting above can be added together into a single rule. The exact effect will depend on the ordering of the statements within the script. And of course the end result will depend on your ability to choose appropriate colours. :-)

[code language="javascript"]


  • The quicklook page is odd. It doesn't have the same HTML structure of regular list pages. You may have to use jQuery and Plain Old JavaScript to control the lists.

  • I'm having a problem controlling the Quick Look Opportunity List; I need to execute the same behaviour as I have on the other standard opportunity lists and grids but they don't work on the Quick look tab. I know there is an index for the grid ("0") and ("1"), etc, but using this parameter seems to make no difference.

  • EAD

    I understand that you want to filter the list by information that is not just on the list but also information that is in the database. This means because the data is not in the browser that for every row of data displayed on the screen you will need to ask a separate query of the database. This why I pointed you to the blog for the crm.sdata() Ajax example.

    But why not filter the data on a separate list based on a view that filters the information you want?

    Of create a Interactive Dashboard gadget that is based on a report of group that has filter the information you need?

  • Hi Jeff,

    Thank you, I did have a look at this article but did not try it.

    Perhaps I misunderstood but I thought this was only worked because both columns in the Filter are visible in the grid (on screen)

    This allows you to assign a value to the variable based on row

    The condition I would like to use would use would be based on a field that is not in the grid (or on screen)

    Comm_Email must contain TEXT XXX

    My apology if I have misunderstood the article....


  • EAD

    Have you seen this article?

    That is using two conditions to filter the cells. The point is that you can find all the 'email' related communications using the Filterwhere and then use an crm.sdata call to check the value of the comm_email that is not included in the screen.