6

I have a table that has 23 columns of data in it that I need to display. It's obviously unreasonably wide, and I am looking for a strategy to make it a little bit more manageable for my users.

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
just.another.programmer
  • 8,579
  • 8
  • 51
  • 90
  • 1
    23 columns of data in database, 23 columns html table? please describe your problem in more detail. – Denis Biondic Feb 19 '12 at 13:10
  • Do you really need to show all those columns at once? You can have only most important columns shown on "overview" screen and edit all of the 23 details in some other "details" screen – Denis Biondic Feb 19 '12 at 13:11
  • It's 23 columns in an HTML display page (it's the product of several joins from the DB). @DenisBiondic this is a report page, the user needs the ability to cross reference data from different columns. If possible they do not want to have to go to a separate details page for this – just.another.programmer Feb 19 '12 at 17:28

3 Answers3

5

That sounds like it would be better off just making the data available as CSV so that users can download it and read it in their favorite spreadsheet program. I know from experience that nothing made our users(1) happier (with one notable exception) than when we added this option in, and it's really quite easy to do. (Yeah, putting everything in a slick web interface is a nice goal, but sometimes you get better results by not working nearly so hard.)


(1) Our users are scientists. Physicists, in particular, but I'm told that biologists are the same. Your users might be different; check!

Donal Fellows
  • 133,037
  • 18
  • 149
  • 215
4

I think that 99% of times user is not interested in that many data at the same time, so try to split it somehow:

  1. Try to show couple of main columns, and use jQuery and popups to show details for every row including other data from other columns.

  2. Possibly not all users are interested in all columns. Show columns that are common to all users, and put an option above to show / hide additional columns

  3. If none applies, then just show all 23 columns with horizontal splitter, no other option. If you really do this for some complex reporting purposes, perhaps provide ability to reorder columns so that users can put columns that they are interested in side to side or something.

However, I'm certain that your report can be splitted, either in many more specific reports targeting only parts of that data, or some other way...

Denis Biondic
  • 7,943
  • 5
  • 48
  • 79
0

What normally is done in databases (as you could see your table like one), is to split it up.

Especially if you have a lot of copied rows, like e.g. 10 columns are equal for all rows. Example: Table with customers having bought something. The first 10 columns are for the customer's name, address, telephone etc. If these 10 columns are equal for every customer then you can move it to a customer table and use an ID (or other unique column) to split it.

However, if all 23 columns do not have such repeating values than maybe the best thing you can do is create some kind of column selection or multiple tables with only certain columns shown. E.g. Suppose you have a customer table with 23 information column about that customer, you can have one table with address information, one with company information etc.

Michel Keijzers
  • 15,025
  • 28
  • 93
  • 119