Tablecontrol -> Mehr Zeilen markieren trotz Einstellung


Benutzeroberflächen in SAP®-Systemen.

Moderatoren: Jan, Steff

Tablecontrol -> Mehr Zeilen markieren trotz Einstellung

Beitragvon nopp » 06.12.2006, 08:35

Moin,

vielleicht ist das Thema hier schon mal behandelt worden.. Habe aber nix dazu gefunden.. Folgendes..

Habe ein Tablecontrol angelegt mit der Eigenschaft "Nur eine Zeile markierbar".

Funktioniert solange, bis man anfängt zu scrollen.. Wenn die markierte Zeile außerhalb des Sichtbereiches ist, kann man eine weitere Zeile markieren u.s.w.

Hat da jemand für mich eine Lösung?

Danke.. Nopp
Nieder mit der Schwerkraft! Es lebe der Leichsinn!
nopp
ForumUser
 
Beiträge: 4
Registriert: 16.11.2006, 21:32
Wohnort: Berlin
Dank erhalten: 0 mal

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Beitragvon ewx » 06.12.2006, 11:36

Moin nopp,

du musst dir merken, welche Zeile markiert wurde. Im TableControl kannst du eine Markierspalte angeben. Bei jedem Tastendruck wird die aktuell markierte Zeile in der internen Tabelle ebenfalls markiert.
Im PBO muss die Markierung entspr. gesetzt werden.
Prog DEMO_DYNPRO_TABLE_CONTROL_2

Gruß, Enno
ewx
Top Expert
 
Beiträge: 3846
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 325 mal

Zeilenmarkierungen

Beitragvon nopp » 06.12.2006, 12:53

Danke Enno für die schnelle Antwort,

daß eigentlich Problem ist ja ein anderes: Ich kann einem Tablecontrol die Eigenschaft setzen, daß nur eine Zeile markiert werden kann. Solange man nicht im Table-Control blättert, funktioniert das ganze ja auch. Eine marktierte Zeile wird wieder demarkiert, wenn eine andere Zeile markiert wird.

Jetzt kommt der Knackpunkt. Markiere ich z. B. die erste Zeile und blättere nach unten, so, daß die erste Zeile aus der Ansicht verschwindet, dann kann ich eine weitere Zeile markieren, ohne daß die erste Zeile demarkiert wird.

Ich habe inzwischen eine Lösung dafür: Im PAI eine Field-Anweisung auf das Mark-Feld im Loop auf die Tabelle..

* PAI des Dynpros..

LOOP AT l_tab_table.

FIELD l_wrk_table-flag
MODULE tc_table_mark ON REQUEST.

ENDLOOP.


* Module..

MODULE tc_table_mark INPUT.

MODIFY l_tab_table
FROM l_wrk_tab_table
INDEX tc_table-current_line
TRANSPORTING flag.

* Mehrere Zeilen markieren verhindern, wenn im Table-Control
* geblättert wird..
IF l_wrk_tab_table-flag = 'X'.
CLEAR l_tmp_wrk_tab_table.
LOOP AT l_tab_table INTO l_tmp_wrk_tab_table.
IF sy-tabix <> tc_table-current_line.
l_tmp_wrk_tab_table-flag = ' '.
MODIFY l_tab_table FROM l_tmp_wrk_tab_table.
ENDIF.
ENDLOOP.
ENDIF.

ENDMODULE.

________________________________________________

Das funktioniert so ganz gut. Ich bin mir aber nicht sicher, ob das denn so unbedingt nötig wäre..

Gruß nopp
Nieder mit der Schwerkraft! Es lebe der Leichsinn!
nopp
ForumUser
 
Beiträge: 4
Registriert: 16.11.2006, 21:32
Wohnort: Berlin
Dank erhalten: 0 mal


Zurück zu Dialogprogrammierung

  Aktuelle Beiträge   
Preisfindung bei Änderung anstoßen
vor einer Stunde von ewx 3 Antw.
gelöst Textaufbereitung TDLINE
vor 2 Stunden von DeathAndPain 3 Antw.
FUBA oder BAPI für VK11
vor 20 Stunden von cuncon 2 Antw.
Nach Datum sortieren
vor 57 Minuten von DeathAndPain 7 Antw.
gelöst ALE Verteilung Kundenaufträge
Gestern von SAP_ENTWICKLER 0 Antw.

  Ähnliche Beiträge beta
Tablecontrol: Drucktaste alle markieren
04.08.2005, 10:16 von ewx 8 Antw.
Tablecontrol: Eintrag mit Batch Input markieren
20.04.2006, 07:33 von Google 2 Antw.
Zeilen im Tablecontrol aktivieren / deaktivieren
12.10.2004, 15:18 von ewx 1 Antw.
TableControl
05.02.2004, 18:52 von babap 3 Antw.
dynamisches TableControl
24.05.2004, 10:17 von asano 2 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder