
View result.htm für die Ergebnisliste anlegen 
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
Weiterentwicklung des Buchladens (Abschnitt
Ä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.

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


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