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!
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
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!