REPORT ZTEST.
*----------------------------------------------------------------------*
* CLASS lcl_handler DEFINITION
*----------------------------------------------------------------------*
CLASS lcl_handler DEFINITION.
PUBLIC SECTION.
METHODS: on_user_command FOR EVENT added_function OF cl_salv_events
IMPORTING e_salv_function.
ENDCLASS. "lcl_handler DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_handler IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS lcl_handler IMPLEMENTATION.
METHOD on_user_command.
DATA: l_grid TYPE REF TO cl_gui_alv_grid,
lv_layout TYPE lvc_s_layo.
IF e_salv_function EQ 'EDIT'.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = l_grid.
CALL METHOD l_grid->get_frontend_layout
IMPORTING
es_layout = lv_layout.
lv_layout-edit = 'X'.
CALL METHOD l_grid->set_frontend_layout
EXPORTING
is_layout = lv_layout.
CALL METHOD l_grid->refresh_table_display( ).
ENDIF.
ENDMETHOD. "on_user_command
ENDCLASS. "lcl_handler IMPLEMENTATION
TYPE-POOLS: abap.
*--------------------------------------------------------------------*
* Variable
*--------------------------------------------------------------------*
DATA: w_itab TYPE REF TO data,
w_wa TYPE REF TO data.
FIELD-SYMBOLS: <fs> TYPE table,
<wa>,
<fld>.
*--------------------------------------------------------------------*
* SELECTION SCREEN
*--------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-001.
PARAMETERS: p_column TYPE i OBLIGATORY,
p_row TYPE i OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk.
*--------------------------------------------------------------------*
* START-OF-SELECTION
*--------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM prepare_data.
PERFORM display_alv.
*&---------------------------------------------------------------------*
*& Form prepare_data
*&---------------------------------------------------------------------*
FORM prepare_data.
DATA: lv_num(5) TYPE n,
lv_index1 LIKE sy-index,
lv_index2 LIKE sy-index,
itab_components TYPE abap_component_tab,
w_component TYPE abap_componentdescr,
lv_type_c TYPE REF TO cl_abap_datadescr,
lv_struct TYPE REF TO cl_abap_structdescr,
lv_table TYPE REF TO cl_abap_tabledescr.
lv_type_c ?= cl_abap_elemdescr=>get_c( 20 ).
DO p_column TIMES.
ADD 1 TO lv_num.
CONCATENATE 'COL' lv_num INTO w_component-name.
w_component-type = lv_type_c.
APPEND w_component TO itab_components.
ENDDO.
lv_struct = cl_abap_structdescr=>create( itab_components ).
lv_table = cl_abap_tabledescr=>create( lv_struct ).
CREATE DATA w_itab TYPE HANDLE lv_table.
CREATE DATA w_wa TYPE HANDLE lv_struct.
ASSIGN w_itab->* TO <fs>.
ASSIGN w_wa->* TO <wa>.
DO p_row TIMES.
lv_index1 = sy-index.
DO p_column TIMES.
lv_index2 = sy-index.
ASSIGN COMPONENT lv_index2 OF STRUCTURE <wa> TO <fld>.
<fld> = lv_index1 * lv_index2.
ENDDO.
APPEND <wa> TO <fs>.
ENDDO.
ENDFORM. "prepare_data
*&---------------------------------------------------------------------*
*& Form display_alv
*&---------------------------------------------------------------------*
FORM display_alv.
DATA: lv_grid TYPE REF TO cl_salv_table,
lv_functions TYPE REF TO cl_salv_functions_list,
lv_events TYPE REF TO cl_salv_events_table,
lv_handler TYPE REF TO lcl_handler,
lv_exception TYPE REF TO cx_root.
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = lv_grid
CHANGING
t_table = <fs>.
CREATE OBJECT lv_handler.
lv_grid->set_screen_status( pfstatus = 'SALV_STANDARD' report = sy-repid
set_functions = lv_grid->c_functions_all ).
lv_functions = lv_grid->get_functions( ).
lv_functions->set_all( 'X' ).
lv_events = lv_grid->get_event( ).
SET HANDLER lv_handler->on_user_command FOR lv_events.
lv_grid->display( ).
CATCH cx_root INTO lv_exception.
ENDTRY.
ENDFORM. "display_alv
分享到:
相关推荐
在 Bootstrap Table 中,`bootstrap-table-editable.js` 是一个非常重要的组件,它为表格提供了行内编辑的功能,极大地提升了用户体验。通过集成 x-editable 库,用户可以直接在表格中修改单元格内容,而无需跳转到...
在本话题中,我们聚焦于Bootstrap Table的一个扩展功能——可编辑下拉框,这得益于`bootstrap-table-editable`插件的使用。这个插件允许用户在表格的单元格内直接进行编辑,包括选择下拉框中的值。 `bootstrap-...
压缩包里面有: 1.bootstrap-table-editable.js 2.bootstrap-editable.js 3.bootstrap-editable.css 用于bootstrap table实现x-editable的行单元格编辑
Bootstrap Editable Table是一款基于Bootstrap框架的插件,用于创建可编辑的表格。这个插件使得在网页上直接编辑表格数据变得简单易行,提升了用户体验,同时也简化了开发者的工作。在这个项目中,主要包含一个名为...
压缩包里面有: 1.bootstrap-table-editable.js 2.bootstrap-editable.js 3.bootstrap-editable.css 用于bootstrap table实现x-editable的行单元格编辑
Bootstrap Table Editable JS 是一个基于Bootstrap框架的动态表格插件,它允许用户在表格的单元格内进行编辑,提供了一种交互式的数据展示和管理方式。这个压缩包包含以下三个核心文件: 1. **bootstrap-editable....
X-Editable 是一个与Bootstrap Table集成的插件,用于实现表格内单元格的编辑功能。在本文中,我们将深入探讨如何使用Bootstrap Table的X-Editable特性来实现单元格的编辑,以及如何处理数据为空和自定义样式的场景...
bootstrap table合集(bootstrap-table bootstrap-table-editable bootstrap-editable) bootstrap table js插件,bootstrap table使用比较方便,有点easyui datagrid的风格,具体使用方法可见相关官网 ...
在Windows Presentation Foundation(WPF)中,`XmlDataProvider` 和 `Editable ComboBox` 是两种非常重要的控件和技术,它们被广泛用于构建用户界面。本示例将深入探讨如何结合使用这两种技术来实现动态数据绑定和...
Bootstrap+BootstrapTable+x-editable(css和js)整合包 内含 jq,js Bootstrap+BootstrapTable+x-editable内部的js 和css文件,一个整合包满足你的所有需求
不过,考虑到"editable_static_form"这个例子,可能并未涉及服务器交互,因此这些更改可能仅限于客户端,刷新页面后可能会丢失。 为了封装和复用这些功能,我们可以编写一个JavaScript类或函数,处理表格的各种操作...
Bootstrap Table实现X-Editable的行单元格编辑及解决数据Empty和支持多样式问题 本文着重解决X-Editable编辑的数据动态添加和显示数据为Empty的问题,还有给表格单元格的内容设置多样式,使得显示多样化。 一、...
资源分类:Python库 所属语言:Python 资源全名:editable_list_view-1.0.0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
editable_datatable jQuery DataTables的插件以启用内联编辑基本用法 $ ( '#my-table' ) . DataTable ( ) . editable_table ( ) ;选项beforeEditStart 在开始编辑行之前调用了回调。 执行顺序为: 用户单击一行进行...