Anfang des InhaltsbereichsVorgehensweisen View result.htm für die Ergebnisliste anlegen Dokument im Navigationsbaum lokalisieren

Verwendung

Dieser View soll die Ergebnisse der Suche in einem HTMLB-TableView anzeigen. Wird dann ein Eintrag der Tabelle angeklickt, so sollen zu diesem Buch weiter unten Detailinformationen angezeigt werden.

Vorgehensweise

Das Layout des Views können Sie implementieren wie folgt:

<%@page language="abap" %>

<%@extension name="htmlb" prefix="htmlb" %>

<htmlb:textView text      = "<%= page->messages->assert_message( 'isbn' )

                              %>"

                textColor = "red"

                wrapping  = "FALSE" />

<htmlb:textView text      = "<%= page->messages->assert_message(

                                 'internal' ) %>"

                textColor = "red"

                wrapping = "FALSE" />

<htmlb:tableView id              = "result"

                 design          = "ALTERNATING"

                 headerText      = "Header Text"

                 onNavigate      = "onMyNavigate"

                 selectionMode   = "SINGLESELECT"

                 emptyTableText  = "No books were found to match your query!"

                 onRowSelection = "onMyRowSelection"

                 table           = "<%= bookcat_tab %>"

                 iterator        = "<%= iterator %>"

                 visibleRowCount = "5" >

  <htmlb:tableViewColumns>

    <htmlb:tableViewColumn columnName          = "title"

                           width               = "100"

                           horizontalAlignment = "left"

                           title               = "Title" >

    </htmlb:tableViewColumn>

    <htmlb:tableViewColumn columnName          = "subtitle"

                           width               = "100"

                           horizontalAlignment = "left"

                           title               = "Subtitle" >

    </htmlb:tableViewColumn>

    <htmlb:tableViewColumn columnName          = "authors"

                           width               = "100"

                           horizontalAlignment = "left"

                           title               = "Autor" >

    </htmlb:tableViewColumn>

    <htmlb:tableViewColumn columnName          = "delivery"

                           width               = "100"

                           horizontalAlignment = "center"

                           title               = "Delivery" >

    </htmlb:tableViewColumn>

    <htmlb:tableViewColumn columnName          = "our_price"

                           width               = "100"

                           horizontalAlignment = "center"

                           title               = "Our Price" >

    </htmlb:tableViewColumn>

    <htmlb:tableViewColumn columnName          = "catal_curr"

                           width               = "100"

                           horizontalAlignment = "left"

                           title               = "Currency" >

    </htmlb:tableViewColumn>

 </htmlb:tableViewColumns>

</htmlb:tableView>

Zunächst werden Messages zugewiesen, für den Fall, dass eine ungültige ISBN eingegeben wurde oder ein interner Fehler auftritt. Das Verfahren wurde im Tutorial StrukturlinkWeiterentwicklung des Buchladens (Abschnitt StrukturlinkÄnderung der Suchseite) beschrieben. Ezeugt werden die Meldungen in der Methode DO_HANDLE_EVENT des Controllers search.do.

Die Tabelle ist so gestaltet, dass genau eine Zeile ausgewählt werden kann. Geschieht dies durch Klicken, wird der HTMLB-Event ausgelöst, der ebenfalls in der Methode DO_HANDLE_EVENT bearbeitet wird.

Ist die Tabelle leer (entweder beim ersten Zugriff, oder weil nichts gefunden wurde), so enthält sie anstelle von Einträgen den Text No books were found to match your query!.

Als Attribute werden dem TableView die Tabelle bookcat_tab der gefundenen Bücher sowie der Iterator für das Rendering der Autorenspalte (vgl. Custom-Rendering für die Autorenspalte erarbeiten) mitgegeben.

Dann werden die gewünschten Felder der Tabelle als Spalten definiert: Titel, Untertitel, Autor, Lieferumfang, Preis und Währung.

Ergebnis

Beim ersten Zugriff bekommen Sie nun also die folgende Tabelle.

Diese Grafik wird im zugehörigen Text erklärt

Wurden Bücher gefunden, sieht die Tabelle so aus:

Diese Grafik wird im zugehörigen Text erklärt

 

Diese Grafik wird im zugehörigen Text erklärt

Wenden Sie sich nun der Detailanzeige für das angeklickte Buch zu:Controller detail.do für die Detailanzeige anlegen

Ende des Inhaltsbereichs