I'm working on a portfolio management system at an investment company, which will include a list of stocks held and their attributes such as name, issuer, market price, value etc. These will be listed in an interactive grid with each attribute in its own column. What possible functions are there for user control over the contents in a column? I can only think of Sorting, Filtering and Grouping By, but would like to know of anything else in common usage to make the software more interactive. Any thoughts would be very welcome!

  • It would really help if you showed us mockups or sketches.
    – JohnGB
    Jan 20, 2013 at 18:30
  • Sorry, can't at the moment (I'm logged on using my phone). But essentially it is just a table of rows with multiple columns. I often compare it to what can be done in Outlook on a list of emails. Thanks
    – James
    Jan 20, 2013 at 18:46
  • There are a huge number of possibilities: dev.sencha.com/deploy/ext-4.1.0-gpl/examples/#sample-2 I'm using this, every customer want a different sub-set of the features. Some want grouping, some want the first column locked. etc.
    – K..
    Jan 24, 2013 at 7:42
  • Maybe you should approach the problem from the other end: What features could portfolio managers possibly want? - And answers to those get you insight into what kind of actions you need to enable.
    – kontur
    Feb 21, 2013 at 11:40

7 Answers 7


A few:

  • Hide Column
  • Reorder (move position of the column)
  • Highlight (change background or text color)
  • Show only (hide values in the column that don't match a filter)

I don't mean to sound rude but: what does your stakeholder want? Have you talked to him about it? What does he need? Or is he already content with sorting, filtering and grouping by?

This is a pretty open question. You can do a lot with columns. You can get very creative and create a lot of functionality, but if the stakeholder/user doesn't want it, he will just be paying for a bag of air and you'll have a hard time designing a user friendly interface with a lot of complexity.

If the requirements aren't clear, I would first talk with your stakeholder

  • Thanks for your comment. Essentially, yes the client just needs sorting, filtering and grouping by, but I was trying to think of anything else that might be useful to them. Cheers
    – James
    Jan 20, 2013 at 18:49
  • 1
    Ah, I understand. It never hurts to come up with suggestions, but also be very careful. If you blatantly ask your stakeholder if he wants x, he will probably say 'yes'. You should always determine their goal/problem they want solved and provide the right tools to do so. Not just asking them if they want x or y Jan 20, 2013 at 19:13

Depending on the complexity of the system, you could implement something real fancy that wont take up that much room:

Name  ||  Issuer
Name  ||  Issuer
Name  ||  Issuer

You have that as the basic format for the view, nice and simple. You can then implement a feature where clicking on a certain row will expand the details of said entry. Something like an accordion in HTML (I'm unsure as to whether you are more design or implementation)

So when you click, the display for that entry becomes something like:

Name  ||  Issuer
Market Price
Next Entry...

If you have something like this, you can end up with a comprehensive data table, whilst keeping it nice and tidy. Everyone loves tidy UIs.

The actions can also be hidden within this expansion, keeping your UI even tidier.

Of course, I don't know what role you play in this system, so I'll leave it there for now...


A few more:

  • Summaries of whole columns or groups. This can help with chunking and understanding data.
  • Only show selected (using check boxes to select specific rows then filtering by that selection). This can greatly aid comparison of rows

Not related so much to column functions but definitely related to ux & ui:

  • Add in some sparklines. This will help with visualizing market price and value over time at a glance.
  • Allow more detailed information to be shown such as detailed graphs or issuer information. This can be done through either an accordion style expansion of the rows or an additional details pane.

If done correctly these types of things can raise your table from merely showing data to showing meaningful information.

Of course the decision to use these or not depends on how important this table is to your system.


Subtotals on sorted columns wherever suitable. For example, if you have a column which lists the industry to which each stock belongs, than you could provide a subtotal whenever one industry ends and the next begins in the sorted column. So the column could start with say Aerospace and when Aerospace ends and Chemicals (or whatever) begins, insert a subtotals row which aggregates the Aerospace stocks. Not all columns will lend themselves to this and some will be more suited to summing (like total value of investments) and some to averaging (like rate of returns) but it will be useful.

If your users are sophisticated enough, you could also think of functionality like Excel pivot tables.

This advice comes from first-hand experience in the domain.


I also use "Select column" button in the column header (shown on mouse over). This was requested by the client, because when user selects a cell, he can perform some actions on this cell (submit, authorize, etc.). The grid can contain +2k rows so it's more convenient to select all cells in a column by just one click, and then perform desired action.


I support what Misha Scholte said. You might find out there is a real need for those features (though I'm a bit skeptical).

Anyhow, in this kind of situation, I find it useful to take a look at the demos of third-party component vendors. Since they want you to buy their component, they showcase all their advanced capabilities.

Some examples include:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.