Editable ALV Standard buttons!! (bug or feature)
Hi All,
I have a little problem with editable alv. I couldn't catch the Standard editable alv buttons' events. ( Buttons: <b>Append Row, Delete Rows, Copy rows, Add new row</b>.)
I would like to write a short code at <i>before_user_command</i> event, when the user press the add new line button on alv grid.
When I press an other button (for.e. : Refresh ) on ALV I can catch the events.
Why don't work this solution these 4 buttons? It is a BUG? or a feature ?
Can anyone sent me a short example about the best solution of this problem?
THX.
mike
I haven't been able to achieve that myself...Only solution found for Append Row what to use this event...
handle_data_finished
FOR EVENT data_changed_finished OF cl_gui_alv_grid
IMPORTING e_modified
Greetings,
Blag.
Similar Messages
-
Editable ALV - Standard F4 on Date field not choosable
Hi all,
Have made an editable ALV (All rows) . One date field where i can use F4 help (mean i can see date when i press f4) but selection is not possible. I cant double click the date. when i click on particular date and and press the TICK button ,value not populated in AVL ..
Thanks,
SriniHi Sri_neo,
I tried your scenario its working fine, when we double click on the date which is from F4 help it is reflecting on ALV grid.
Thanks & Regards,
Sridhar S. -
Regarding editable alv save button
Hi Friends,
I have an ALV report in which one of the Column is in editable mode.
i want to edit that column field with new value and press save .
Friends , i want to know what should i write to get things done.
regards,
RajeshHi Friends,
I have an ALV report in which one of the Column is in editable mode.
i want to edit that column field with new value and press save .
Friends , i want to know what should i write to get things done.
regards,
Rajesh -
How to remove the the standard button APPEND/INSERT/DELETE in webdynpro alv
Hello,
how to remove the the standard button APPEND/INSERT/DELETE in webdynpro-abap alv
Thanks
RaksharUse this.
data lo_cmp_usage type ref to if_wd_component_usage.
lo_cmp_usage = wd_this->wd_cpuse_alv1( ).
if lo_cmp_usage->has_active_component( ) is initial.
lo_cmp_usage->create_component( ).
endif.
data lo_interfacecontroller type ref to iwci_salv_wd_table .
lo_interfacecontroller = wd_this->wd_cpifc_alv1( ).
data lo_value type ref to cl_salv_wd_config_table.
lo_value = lo_interfacecontroller->get_model(
data: lr_std type ref to if_salv_wd_std_functions.
lr_std ?= lo_value.
lr_std->set_export_allowed( abap_false ).
NOte: ALV1 is alv component name
Regards
Srinivas
Edited by: sanasrinivas on Dec 1, 2011 6:11 AM -
Bug or feature : Using portlets with edit mode on a page in the portal
Hi,
i am using Workshop 8.1 (GA release july) and i have discovered a bug (or a
feature) with respect to the beta version.
i have created a simple portlet with a view mode and an edit mode. When i
place the portlet on the very first page of a one book portal, it works
perfectly. However, i have a book with three pages and placed the portlet on
the second page. Now when i put the portlet in edit mode, by clicking the
edit button, i am directed to the first page of the portal and the portlet
will not show.
Inspection learned that the URL generated for the edit button, didn't
contain the _pagelabel parameter. When i added the parameter manually it
works fine.
A final remark is that the buttons in the titlebar have no icons the browser
can load.
hope someone can help me out,
LodewijkCan you please post this question to weblogic.developer.interest.portal
newsgroup.
Thanks
"Lodewijk Spijker" <[email protected]> wrote in message
news:3f165945$[email protected]..
Hi,
i am using Workshop 8.1 (GA release july) and i have discovered a bug (ora
feature) with respect to the beta version.
i have created a simple portlet with a view mode and an edit mode. When i
place the portlet on the very first page of a one book portal, it works
perfectly. However, i have a book with three pages and placed the portleton
the second page. Now when i put the portlet in edit mode, by clicking the
edit button, i am directed to the first page of the portal and the portlet
will not show.
Inspection learned that the URL generated for the edit button, didn't
contain the _pagelabel parameter. When i added the parameter manually it
works fine.
A final remark is that the buttons in the titlebar have no icons thebrowser
can load.
hope someone can help me out,
Lodewijk -
Disable some standard buttons from ALV display
Hello All,
I am creating an ALV display using object oriented approach. I know how to exclude some of the standard function buttons from the list.
But suppose instead of deleting, the requirement is to disable (I mean grayed out)
some standard buttons from ALV. Could anyone please comment on how to do this.
Many thanks in advance.
Regards
IndrajitHello Indrajit
The following sample reports shows how to disable toolbar functions. Run the report and the push the ENTER button repeatedly.
*& Report ZUS_SDN_ALV_EVT_TOOLBAR
*& This sample report explains the handling of event TOOLBAR in order
*% to activate or inactive buttons of the ALV toolbar.
*& Based on: BCALV_GRID_DEMO
*& Procedure: Copy BCALV_GRID_DEMO and replace entire coding OR
copy screen '0100' and GUI status 'MAIN100' from
BCALV_GRID_DEMO to this report.
REPORT zus_sdn_alv_evt_toolbar.
TYPE-POOLS: abap, cntb, icon.
DATA:
ok_code TYPE ui_func,
gt_sflight TYPE TABLE OF sflight,
g_container TYPE scrfname VALUE 'BCALV_GRID_DEMO_0100_CONT1',
g_grid1 TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container.
PARAMETERS:
p_inact RADIOBUTTON GROUP grp1 DEFAULT 'X', " delete buttons
p_dele RADIOBUTTON GROUP grp1. " inactivate buttons
PARAMETERS:
p_newbut AS CHECKBOX DEFAULT ' ', " add new button
p_newddm AS CHECKBOX DEFAULT 'X'. " add dropdown menu
CLASS lcl_eventhandler DEFINITION
CLASS lcl_eventhandler DEFINITION.
PUBLIC SECTION.
CLASS-DATA:
md_cnt TYPE i.
CLASS-METHODS:
handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING
e_object
e_interactive
sender.
ENDCLASS. "lcl_eventhandler DEFINITION
CLASS lcl_eventhandler IMPLEMENTATION
CLASS lcl_eventhandler IMPLEMENTATION.
METHOD handle_toolbar.
§ 2.In event handler method for event TOOLBAR: Append own functions
by using event parameter E_OBJECT.
DATA:
ls_toolbar TYPE stb_button,
ls_menu type STB_BTNMNU.
E_OBJECT of event TOOLBAR is of type REF TO CL_ALV_EVENT_TOOLBAR_SET.
This class has got one attribute, namly MT_TOOLBAR, which
is a table of type TTB_BUTTON. One line of this table is
defined by the Structure STB_BUTTON (see data deklaration above).
A remark to the flag E_INTERACTIVE:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'e_interactive' is set, if this event is raised due to
the call of 'set_toolbar_interactive' by the user.
You can distinguish this way if the event was raised
by yourself or by ALV
(e.g. in method 'refresh_table_display').
An application of this feature is still unknown...
ADD 1 TO md_cnt. " a simple counter
(1.a) Inactivate toolbar buttons
IF ( p_inact = abap_true ).
LOOP AT e_object->mt_toolbar INTO ls_toolbar FROM 1 TO md_cnt.
ls_toolbar-disabled = 'X'.
MODIFY e_object->mt_toolbar FROM ls_toolbar.
ENDLOOP.
(1.b) Delete toolbar buttons
ELSE.
DO md_cnt TIMES.
DELETE e_object->mt_toolbar INDEX 1.
ENDDO.
ENDIF.
(2) Add new button
IF ( p_newbut = abap_true ).
Add separator to separate default and new buttons
CLEAR: ls_toolbar.
ls_toolbar-butn_type = cntb_btype_sep. " separator
APPEND ls_toolbar TO e_object->mt_toolbar.
Add new button "DETAIL"
CLEAR: ls_toolbar.
ls_toolbar-function = 'DETAIL'.
ls_toolbar-icon = icon_detail.
ls_toolbar-quickinfo = 'QuickInfo'.
ls_toolbar-butn_type = cntb_btype_button.
ls_toolbar-disabled = abap_false.
ls_toolbar-text = 'Details'.
ls_toolbar-checked = ' '.
APPEND ls_toolbar TO e_object->mt_toolbar.
ENDIF.
(3) Add new dropdown menu
IF ( p_newddm = abap_true ).
Add separator to separate default and new buttons
CLEAR: ls_toolbar.
ls_toolbar-butn_type = cntb_btype_sep. " separator
APPEND ls_toolbar TO e_object->mt_toolbar.
Add new dropdown menu "DETAIL"
CLEAR: ls_toolbar.
ls_toolbar-function = 'DDMENU'.
ls_toolbar-icon = icon_detail.
ls_toolbar-quickinfo = 'QuickInfo'.
ls_toolbar-butn_type = cntb_btype_dropdown.
ls_toolbar-disabled = abap_false.
ls_toolbar-text = 'DD-Menu'.
ls_toolbar-checked = ' '.
APPEND ls_toolbar TO e_object->mt_toolbar.
ENDIF.
ENDMETHOD. "handle_toolbar
ENDCLASS. "lcl_eventhandler IMPLEMENTATION
START-OF-SELECTION.
MAIN *
SELECT * FROM sflight INTO TABLE gt_sflight.
CALL SCREEN 100.
END-OF-SELECTION.
MODULE PBO OUTPUT *
MODULE pbo OUTPUT.
SET PF-STATUS 'MAIN100'.
IF g_custom_container IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING container_name = g_container.
Instantiate ALV grid control
CREATE OBJECT g_grid1
EXPORTING i_parent = g_custom_container.
CALL METHOD g_grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'SFLIGHT'
CHANGING
it_outtab = gt_sflight.
Set event handler for event TOOLBAR
SET HANDLER:
lcl_eventhandler=>handle_toolbar FOR g_grid1.
ENDIF.
$Comment: Toolbar can be modified on-the-fly
g_grid1->set_toolbar_interactive( ).
ENDMODULE. "PBO OUTPUT
MODULE PAI INPUT *
MODULE pai INPUT.
to react on oi_custom_events:
CALL METHOD cl_gui_cfw=>dispatch.
CASE ok_code.
WHEN 'EXIT'.
PERFORM exit_program.
WHEN OTHERS.
do nothing
ENDCASE.
CLEAR ok_code.
ENDMODULE. "PAI INPUT
FORM EXIT_PROGRAM *
FORM exit_program.
CALL METHOD G_CUSTOM_CONTAINER->FREE.
CALL METHOD CL_GUI_CFW=>FLUSH.
LEAVE PROGRAM.
ENDFORM. "EXIT_PROGRAM[/code]
Regards
Uwe -
Hi ,
How to remove the standard buttons on the WD4A alv grid like View (Std. View) , Print Version , Export , Filter , Settings.
Thanks,
KumarHow did u solved ?
-
I have the following code:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JToolBar;
import javax.swing.SwingUtilities;
public class Test extends JFrame {
private static final long serialVersionUID = 1L;
private JButton button;
public static void main(String[] args)
SwingUtilities.invokeLater(new Runnable(){public void run(){new Test();}});
public Test()
setSize(200,00);
setLayout(new BorderLayout());
JToolBar toolbar = new JToolBar();
button = new JButton("button");
button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { button.setEnabled(false);}});
toolbar.add(button);
getContentPane().add(toolbar, BorderLayout.SOUTH);
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(200,10000));
for(int i=0;i<10000; i++) { panel.add(new JLabel(""+(Math.random()*1000))); }
JScrollPane scrollpane = new JScrollPane();
scrollpane.getViewport().add(panel);
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollpane.setPreferredSize(getSize());
scrollpane.setSize(getSize());
getContentPane().add(scrollpane, BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
pack();
}This code is lethal to swing: when pressing the button, for no identifiable reason the entire UI will lock up, even though all the event handler is doing is setting the button's "enabled" property to false. The more content is located in the panel, the longer this locking takes (set -Xmx1024M and the label loop to 1000000 items, then enjoy timing how long it takes swing to realise that all it has to do is disable the button...)
Does anyone here know of how to bypass this behaviour (and if so, how?), or is it something disastrous that cannot be coded around because it's inherent Swing behaviour?
I tried putting the setEnabled(false) call in a WorkerThread... that does nothing. It feels very much like somehow all components are locked, while the entire UI is revalidated, but timing revalidation shows that the panel revalidates in less than 50ms, after which Swing's stalled for no reason that I can identify.
Bug? Feature?
how do I make it stop doing this =(
- MikeHowever, if you replace "setEnabled(false)" with "setForeground(Color.red)") the change is instant,I added a second button to the toolbar and invoked setEnabled(true) on the first button and the change is instant as well. I was just looking at the Component code to see the difference between the two. There are a couple of differences:
public void setEnabled(boolean b) {
enable(b);
* @deprecated As of JDK version 1.1,
* replaced by <code>setEnabled(boolean)</code>.
@Deprecated
public void enable() {
if (!enabled) {
synchronized (getTreeLock()) {
enabled = true;
ComponentPeer peer = this.peer;
if (peer != null) {
peer.enable();
if (visible) {
updateCursorImmediately();
if (accessibleContext != null) {
accessibleContext.firePropertyChange(
AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
null, AccessibleState.ENABLED);
* @deprecated As of JDK version 1.1,
* replaced by <code>setEnabled(boolean)</code>.
@Deprecated
public void enable(boolean b) {
if (b) {
enable();
} else {
disable();
* @deprecated As of JDK version 1.1,
* replaced by <code>setEnabled(boolean)</code>.
@Deprecated
public void disable() {
if (enabled) {
KeyboardFocusManager.clearMostRecentFocusOwner(this);
synchronized (getTreeLock()) {
enabled = false;
if (isFocusOwner()) {
// Don't clear the global focus owner. If transferFocus
// fails, we want the focus to stay on the disabled
// Component so that keyboard traversal, et. al. still
// makes sense to the user.
autoTransferFocus(false);
ComponentPeer peer = this.peer;
if (peer != null) {
peer.disable();
if (visible) {
updateCursorImmediately();
if (accessibleContext != null) {
accessibleContext.firePropertyChange(
AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
null, AccessibleState.ENABLED);
}The main difference appears to be with the KeyboardFocusManager. So instead of using a toolbar, I changed it to a JPanel (so the buttons are focusable). I then notice the same lag when I try to tab between the two buttons. So the problem is with the focus manager, not the setEnabled() method. -
Editable ALV- Disable Add, delete row buttons
Hi,
I have an editable ALV using OO Grid. Some columns are editable and some are not using field catalog. I want to disable the 'add new row' and 'delete row' buttons. How to go about it ?
Regards,
VinYou can simply add them to the "Exclude" table and pass them to the SET_TABLE_FOR_FIRST_DISPLAY method.
data: iexclude type ui_functions,
data: xexclude type ui_func.
define macro_exclude.
xexclude = &1.
append xexclude to iexclude.
end-of-definition.
macro_exclude cl_gui_alv_grid=>mc_fc_loc_copy_row.
macro_exclude cl_gui_alv_grid=>mc_fc_loc_delete_row.
macro_exclude cl_gui_alv_grid=>mc_fc_loc_append_row.
macro_exclude cl_gui_alv_grid=>mc_fc_loc_insert_row.
macro_exclude cl_gui_alv_grid=>mc_fc_loc_move_row.
macro_exclude cl_gui_alv_grid=>mc_fc_loc_copy.
macro_exclude cl_gui_alv_grid=>mc_fc_loc_cut.
macro_exclude cl_gui_alv_grid=>mc_fc_loc_paste.
macro_exclude cl_gui_alv_grid=>mc_fc_loc_paste_new_row.
macro_exclude cl_gui_alv_grid=>mc_fc_loc_undo.
call method alv_grid->set_table_for_first_display(
exporting
it_toolbar_excluding = iexclude "<--- Right HEre
is_layout = xlayout
changing
it_outtab = izcmptrans[]
it_fieldcatalog = ifc[] ).
Regards,
Rich Heilman -
Change the Standard ALV Export button text
Hi Expert,
I want to change the standard button ( Export Button ) text in ALV table. I had gone through some threads already but still i am not getting a clear idea on this. Could you please any one give me a clear structure on this.
Regards,
Sarathy.Here is the new solution with out creating ZCLASS.
DATA: lo_function_dpwty TYPE REF TO cl_prs_std_alv_funct,
lr_functions TYPE REF TO if_salv_wd_function_settings,
lr_function_std TYPE REF TO cl_salv_wd_a_function_std.
CREATE OBJECT lo_function_dpwty
EXPORTING
id = 'X'.
lr_functions = l_ref_interfacecontroller->get_model( ).
" append row rename
lr_function_std = lr_functions->get_function_std( if_salv_wd_c_std_functions=>edit_append_row ).
lv_button_text = 'Add Item'.
lo_function_dpwty->change_text( EXPORTING text = lv_button_text
CHANGING std_function = lr_function_std ).
"Delete row item rename
lr_function_std = lr_functions->get_function_std( if_salv_wd_c_std_functions=>edit_delete_row ).
lv_button_text = 'Delete Item'.
lo_function_dpwty->change_text( EXPORTING text = lv_button_text
CHANGING std_function = lr_function_std ). -
Features&Pricing difference Ora10g Enterprise Edition and Standard Edition
Hi All,
I want to know the "Features&Pricing difference between Oracle 10g Enterprise Edition and Standard Edition"
Kindly share if anybody have.
Thanks and regards,
Muhammad Shakeel AzeemPlease see,
http://www.oracle.com/us/products/database/product-editions-066501.html
For listed pricing, check https://shop.oracle.com/pls/ostore/f?p=dstore:home:0::::: .
Aman.... -
Hi all,
I need to change the text to the standard button "Export" in ALV for the text "Excel" and assing only one function to this button, the function I need is export to excel.
Does anyone knows how to solve this problem please?
Help is really appreciated.
Regards!In your first post you asked about ALV and now about non-ALV...
So about ALV you have the Excel download by default and you are able to change the text.
About non-ALV download I think you have to use the method: cl_wd_runtime_services=>attach_file_to_response.
Look at the last post in:
File download WD4A
Sergio -
Are all of the features of the standard Adobe Creative Cloud featured in the student edition?
Are all of the features of the standard Adobe Creative Cloud featured in the student edition?
Creative Cloud software & services are the same.
http://www.adobe.com/products/creativecloud/tools-and-services.edu.html
Nancy O. -
Message on clicks on standard button of alv in webdynpro
Hi experts,
I want to show message on clicks on standard button of alv in webdynpro.Hi Rohit..
Also check this...
http://wiki.sdn.sap.com/wiki/display/Snippets/WebDynproABAP-ALVControllingStandard+Buttons
Cheers,
Kris. -
Add Button with ALV Standard Toolbar.
Hi,
Can any one tell me how to add user-defined button with ALV
Standard toolbar? When I add Pf-status for alv output , standard alv toolbar is not displayed.
Plz do needful.On the toolbar event of your alv grid, all the button as shown in the code below.
FORM handle_toolbar USING i_object TYPE REF TO cl_alv_event_toolbar_set .
DATA: ls_toolbar TYPE stb_button.
CLEAR ls_toolbar.
MOVE 'EXCH' TO ls_toolbar-function. "#EC NOTEXT
MOVE 2 TO ls_toolbar-butn_type.
MOVE icon_calculation TO ls_toolbar-icon.
MOVE 'Payment in Other Currencies'(202) TO ls_toolbar-quickinfo.
MOVE ' ' TO ls_toolbar-text.
MOVE ' ' TO ls_toolbar-disabled. "#EC NOTEXT
APPEND ls_toolbar TO i_object->mt_toolbar.
ENDFORM
CLASS lcl_event_handler DEFINITION .
PUBLIC SECTION .
METHODS:
*To add new functional buttons to the ALV toolbar
handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive ,
ENDCLASS.
CLASS lcl_event_handler IMPLEMENTATION .
*Handle Toolbar
METHOD handle_toolbar.
PERFORM handle_toolbar USING e_object e_interactive .
ENDMETHOD .
ENDCLASS.
DATA gr_event_handler TYPE REF TO lcl_event_handler .
*--Creating an instance for the event handler
CREATE OBJECT gr_event_handler .
*--Registering handler methods to handle ALV Grid events
SET HANDLER gr_event_handler->handle_toolbar FOR gr_alvgrid .
Hope this helps.
Thanks,
Balaji
Maybe you are looking for
-
Error while invoking Java Program in BPEL
When I'm invoking a simple "Hello World" Java Program from BPEL it is working fine but while invoking a Java Program which is downloading some data from a website I'm getting the following error: Faulted while invoking operation "Helper" on provider
-
Burned dvd's distorted when being played.
I am new to the Mac world. I recently downloaded Mac the Ripper and Bought Popcorn. I am able to copy my dvd's to my hard drive without a problem. I can also burn the TS file to my dvd's. However when i go to play it in the DVD player it is distorted
-
IChat 3.1.8 will not open
Or rather, it opens - the icon appears in the dock, bounces there for about one minute (an absurdly long amount of time for this machine to open any program), then sits idle. But the application interface never appears, and control-clicking (or right
-
Do I need to have the DI server installed on the same machine as the SBO-Common database in order for the DI server to work? Or can I use a DI server on a remote environment? Thanks in advance
-
Al estar intalando W 7 con boot camp
Al estar intalando W 7 con boot camp, ha detectado un error en el disco, he cancelado la instalación. Mi pregunta es si creará otra partición del disco, es decir, iniciará un proceso nuevo o podré instalarlo en la partición anteriormente creada del p