Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 345537 - Refresh of TableStatus sometimes wrong
Summary: Refresh of TableStatus sometimes wrong
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Scout (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 345572 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-05-12 03:35 EDT by Matthias Zimmermann CLA
Modified: 2021-08-19 11:08 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Zimmermann CLA 2011-05-12 03:35:32 EDT
If the user searches for data in a search form and no records are found the table status is not updated properly in the status line of the Scout application.

Likely reason: On AbstractTable a listener exists the calls updateTableStatus() for events like inserted rows, updated rows, ... 

if the table is initiall empty and the user searches for non-existing data the result table is empty again and updateTableStatus() is not called.


original ticket text in German:

Konkret gibt es auf der AbstractTable einen Listener, der bei Events wie "Rows inserted", "Rows updated" etc. die Methode updateTableStatus() auf dem AbstractTableField aufruft. Es gibt aber einen wichtigen Fall, wo dieser Trigger nicht anschlägt:

1. In der Standardsicht auf einen Knoten klicken, wo die Daten nicht gleich geladen werden (z.B. Tickets). Dann steht jetzt im Status "Umfangreiche Datenmenge, bitte Suche einschränken".
2. Im Suchdialog eine Eingabe machen, die zu keinen Resultaten führen wird (z.B. "qsdfgasfgasdgfagsdjkfgajksdgf") und die Suche absetzen.
3. Der Status ändert sich _nicht_! <-- DAS IST FALSCH.
4. Eine Suche absetzen, die zu einem Resultat führt. Der Status wird jetzt korrekt aktualisiert, es steht nun "xyz Objekte".
5. Erneut die Suche aus Schritt 2 ausführen. Nun steht im Status korrekt "0 Objekte".

Der Fehler liegt darin, dass zwischen Schritt 1 und 3 die Tabelle sich aus Sicht AbstractTable nicht ändert. Es sind sowohl vor als auch nach der Suche 0 Rows in der Tabelle. Darum wird der Trigger nicht aktiviert, der den Status aktualisiert (P_TableStatusListener). Dieser wird nur aktiv, wenn sich die Zeilen in der Row ändern. Darum funktioniert es bei den Schritten 4 und 5 auch korrekt (weil sich durch das Löschen der vorherigen Resultate die Tabelle ändert).

Wir brauchen die Aktualisierung aber immer. Grund: Der Mitarbeiter möchte wissen, dass seine Suche zu keinen Resultaten geführt hat.
Comment 1 Matthias Zimmermann CLA 2011-05-12 03:36:00 EDT
fixed on 16.3.2011, #94708
Comment 2 Matthias Zimmermann CLA 2011-05-12 06:42:48 EDT
*** Bug 345572 has been marked as a duplicate of this bug. ***
Comment 3 Matthias Zimmermann CLA 2011-06-28 08:42:03 EDT
shipped with eclipse scout 3.7.0