|
#1
|
|||
|
|||
Podrias intentar con esto...
Hola, yo he generado el codigo con la ayuda del wizard para generar el TC ahora bien, lo que he visto q hace es primero cargar los botones con los eventos de borrar y de insertar...para nuestro caso hablemos de borrar.
En el codigo q genera la funcion encargada de borrar pide los parametros table control, tabla interna asociada y nombre del campo de seleccion q es donde vas guardando q ha sido seleccionado, te anexo el form asi lo mandan a llamar ... WHEN 'DELE'. "delete row PERFORM fcode_delete_row USING p_tc_name p_table_name p_mark_name. Aqui esta la defincion FORM fcode_delete_row USING p_tc_name TYPE dynfnam p_table_name p_mark_name . *-BEGIN OF LOCAL DATA--------------------------------------------------* DATA l_table_name LIKE feld-name. FIELD-SYMBOLS <tc> TYPE cxtab_control. FIELD-SYMBOLS <table> TYPE STANDARD TABLE. FIELD-SYMBOLS <wa>. FIELD-SYMBOLS <mark_field>. *-END OF LOCAL DATA----------------------------------------------------* ASSIGN (p_tc_name) TO <tc>. * get the table, which belongs to the tc * CONCATENATE p_table_name '[]' INTO l_table_name. "table body ASSIGN (l_table_name) TO <table>. "not headerline * delete marked lines * DESCRIBE TABLE <table> LINES <tc>-lines. LOOP AT <table> ASSIGNING <wa>. * access to the component 'FLAG' of the table header * ASSIGN COMPONENT p_mark_name OF STRUCTURE <wa> TO <mark_field>. IF <mark_field> = 'X'. DELETE <table> INDEX syst-tabix. IF sy-subrc = 0. <tc>-lines = <tc>-lines - 1. ENDIF. ENDIF. ENDLOOP. ENDFORM. " FCODE_DELETE_ROW Asi q podria copiarla y mandarle el nombre de tus tablas ya que son apuntadores a las mismas. espero te sirva saludos ...
__________________
el tema esta en hacer la pregunta correcta... |
#2
|
|||
|
|||
Hola para seleccionar varios registros y hacer lo q quieras le das doble click a tu table control , luego en propiedades marc.linea ---> multiple.
con esto te podra seleccionar mas de un linea |
Herramientas | Buscar en Tema |
Desplegado | |
|
|