I've been working on yet another multi-column list solution for displaying
database output.  I'd love to use MC's built-in support, but I can't
guarantee the data will fit into a fixed-width column, and the MC field
object does not yet support clipping, instead pushing subsequent columns
over.

So my current favorite strategy is to use multiple list fields, but this is
not without its share of issues:

- Selection is always funky, since you have to grab the line the user
  clicked on in one field and apply that to all the others.

- Dragging below the field boundary to scroll all the fields in
  unison is wonky in my best  effort (maybe one of you has a good
  recipe for that?).

- Sorting is a bear, since you effectively need to reassemble the
  various fields into a single chunck, sort by item, and put them
  all back (or something even more complicated).

Using this method I can parse an array of the members of congress and put
them into a field in about half a second on a G4/500 -- unacceptable to some
of our customers with slower machines.


The other alternative I've played with is to use a single MC field, but to
algorithmically truncate each line of the displated text if it exceeds the
column width.  I found this solution to have its own issues:

- Performance of the truncation bites.

- Requires a monospaced font in order to calculate where to truncate,
  or an even slower algorithm which queries the formattedwidth.

- You need to maintain two sets of data, the complete set and then
  a copy in the displayed field with some lines truncated.   Sometimes
  this is a RAM issue, and you have to remember as you're coding that
  everytime you touch the data you need to refresh the display version.


So for displaying database columns, how do you folks handle that?

-- 
 Richard Gaskin 
 Fourth World Media Corporation
 Multimedia Design and Development for Mac, Windows, UNIX, and the Web
 _____________________________________________________________________
 [EMAIL PROTECTED]                 http://www.FourthWorld.com
 Tel: 323-225-3717           ICQ#60248349            Fax: 323-225-0716



Archives: http://www.mail-archive.com/[email protected]/
Info: http://www.xworlds.com/metacard/mailinglist.htm
Please send bug reports to <[EMAIL PROTECTED]>, not this list.

Reply via email to