30. Mär. 2010 

A Listbox is the Swiss Army Knife of 4D.

Chip, Doug, all

I checked out the links, but sorry to say my German is beyond rusty.
any chance there is an english version of these?

… Google's translation isn't much better. A short summary here:

How do you use quick reports to build Excel files (assuming you don't just mean open the plain text export in excel)?

creating an Excel.xml as described in TN 06-08_Quick_Reports_Excel (enhanced and fixed :-)

it's a pitty, SnowLeopard doesn't support Creator and Type anymore. Now on both platforms back to Windows-uncomfortability.

Please search yourself, the new 4D Knowledgebase couldn't convince me yet.

and have you had issues (as I have) with cross relation sorting and selection listboxes??

I keep a lot of Display-fields, for no other reason than to avoid such cases. The theory behind is stage IV of normalization :-)

My main points are:

  • generate listboxes dynamically, both arraybased and selectionbased
  • store the information needed in records and/or the Resources-folder
  • store further information like who owns the listbox, who'll see which listbox, versioning, … in the same record
  • load the best suited listbox-record depending on solution, table, current user, …
  • send your customer a set of new records instead of new code
  • read out the listbox-information and/or record-data and create a QuickReport on the fly
  • set the QR-destination to text, to HTML 3.x, to 4D View or to TN 06-08_Quick_Reports_Excel
  • no column-scripts (by the way: no object-scripts at all), the listbox-object itself calls a project method like
  • Organisation_Mngr("Listbox_Action";Self)
  • one project method handles everything:
    • initialising arrays,
    • filling columns,
    • reaction to form events,
    • setting visibility,
    • showing scrollbars
    looks like
    :($what="Listbox_@")
      Case of
        :($what="@_Init")
        :($what="@_Fill")
          Organisation_Mngr("Listbox_Init";$P_Self)
          … do the filling
        :($what="@_Action")
          Case of
            :(Form event=On Selection Change)
            Organisation_Mngr("Listbox_SelChanged";$P_Self)
          End case
        :($what="@_SelChanged")
          …
      End case
  • simple UI - iTunes-style, we still need to design lots of input forms
the pictures need no translation, I suppose

it's been working great the last 5 years, best suited for lazy coders like me.

best regards
Ortwin Zillgen

P.S. clicking on the pictures zooms

further reading

4D themes: fresh from the workbench

imagecurrently available in englisch:
NEW: Macros in V12.4
Mission Control and V12

Better machine-translated than non comprende! - Tidy up when done - New kinds of buttons - My own Preferences - DBZ-Calendar component - module-manager and code-blocks - As simple as possible: fulltext-field - V12 and QUERY BY SQL - Updating the User-Interface into today - Rotate Barcodes by 90° - UUID: that special kind of empty - Dynamic Labels - Printing Subforms in V12 - systemtables - structure info - Integrating Addressbook and 4D - SVG and 4D HTML-Tag - Automatic Comments of the Methodeditor - fighting to get ics-files into Outlook - hierarchical lists as datacontainer - UI-changes in V12 - HTML-email and 4D Write - Simple & Lazy - David Dancy … extracting the information that's encoded in a 4D structure file - SVG and 4D - David Adams about Mockup and Wireframing - retrieving MAC-addresses - sampler listbox-templates - Listboxes with footers - Simulating Sub-Pages on Multi-Page Forms - MySQL dump - Dreaming of a rich-text-editor in 4D - iPhone and 4D - email-communication - 4D Write and HTML - Which Web-Editor - Integration of 4D and Web - Cursor-movement in Listboxes - Integrating an Excel-workflow into 4D - Database Photography - Parcels and Ownerinformation atop satellite maps

Components

  • DBZ - Listboxnavigator
  • DBZ - SystemTables
  • DBZ - Calendar
  • 4D Themen: Berichte in Arbeit