Disable single cells in Grid
Hi all
It seems that it is not possible to disable (grey out) a single cell in the new Grid object?
I would like to be able to do this. Any ideas?
Marais
Hi Marais,
You cannot accomplish this with the SDK. A suggestion I could make is that you catch the key down event in the cells you want to block and then set the BubbleEvent to false so that the cells are not updated. Haven't tried it myself, but it should work. Might be a bit resource intense using the key down event though.
Hope it helps,
Adele
Similar Messages
-
How to disable single cell in table control.
Hi my requirement is to disable single cell in the table control. Please let me know How to do this.
If possible please provide good module pool examples.
HarishHi,
I´m not quite sure if this is gonna work. You have to make a loop over the screen and then you can change some characteristics of it, which includes the Input option:
LOOP AT SCREEN.
IF screen-group1 = 'ABC'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
I´ve used this code for selection screens but could help you. Check in SE11 all options for SCREEN. -
Create deep structure to disable some cells in Dynamic ALV GRID
Hi,
I want to disable some cells in a Dynamic ALV Grid before calling "SET_tABLE_Display" Method.
I check the BCALV_EDIT_02, where some cells are grayed out by assign the CL_GUI_ALV_GRID-MC_STYLE_DISABLED to the field name.
But I want the same using Field symbol.
I'm creating Dynamic table and dynamic structure based on the Dynamic field catalog.
Example: <FT_TAB> TYPE STANDARD TABLE,
<FS_TAB> TYPE ANY,
DATA: INT_TAB is my dynamic table values.
For the INT_TAB internal table, I created dynamic Structure and dynamic field symbol table.
LOOP AT INT_TAB.
ASSIGN COMPONENT 'MATNR' OF STRUCTURE <FS_TAB> TO <F_VALUE>
<F_VALUE> = INT_TAB-MATNR.
APPEND <FS_TAB> TO <FT_TAB>
"Here is the problem occurs, I want to grayed out the MATNR value based on some condition.
ENDLOOP.
I would like to set the 'MATNR' value to be grayed out by passing the CL_GUI_ALV_GRID-MC_STYLE_DISABLED.
and update into <FT_TAB>( <FT_TAB> structure will have 2 structures)
Finally the fieldsymbol should have two structure ( <F_TAB> = DYNAMIC STRUCTURE + LVC_S_STYLE )
Display alv grid by passing <FT_TAB> to set_table_display method.
Thanks in advance,
Kumar.Hi,
I am not sure whether I really understand your request. Let me try to help.
> Example: <FT_TAB> TYPE STANDARD TABLE,
> <FS_TAB> TYPE ANY,
>
> DATA: INT_TAB is my dynamic table values.
>
>
> LOOP AT INT_TAB.
> ASSIGN COMPONENT 'MATNR' OF STRUCTURE <FS_TAB> TO <F_VALUE>
> <F_VALUE> = INT_TAB-MATNR.
> APPEND <FS_TAB> TO <FT_TAB>
Here <FT_TAB> must already be assigned to some internal table with a given (dynamic) structure. Did this happen before this piece of code?
What I would do is to create a dynamic table (see documentation to CREATE DATA) with MATNR and the STYLE field (LVC_T_STYL). See the documentation for CREATE DATA - creation of internal tables. When collection the field descriptions for that internal table I would also build the field catalogue for the ALV.
Then assign <FT_TAB> to that newly created internal table, <FS_TAB> to a newly created structure (same as a table line).
Move the MATNR to component 1 (or component 'MATNR') of the table and fill the style table according to your needs. Then insert the <FS_TAB> into <FT_TAB>.
Finally call the ALV SET_TABLE... method with your dynamic table and your field catalogue.
Regards,
Gerd Rother -
Modifying single cell in ALV Grid via OO
Hi All,
Got a problem I hope someone can assist me with. I have a custom program generating an editable ALV grid. The users want to update a single cell in a row with value from a custom drop down. I've got the dropdown working, but I can't work out how to get the value back into the field. My attempts result in a 'GETWA_NOT_ASSIGNED' short dump.
I'm using the CL_GUI_ALV_GRID->get_selected_cells_id method to get the reference for the field to be modified, but I don't know where to go from here.
Any thoughts would be greatly appreciated. Btw, my knowledge of OO is passable, but not great, so any explanations of what the code is doing in a proposed solution would be greatly appreciated.
points will be rewarded.
Cheers,
StephenHello Stephen
Since your dropdown list restrict the already allowed values there should be no special need to validate the selected values.
Simply "grab" the data from the editable ALV into your internal itab in the ABAP report.
I have copied sample report BCALV_EDIT_07 into ZUS_SDN_BCALV_EDIT_07 and modified the report to show how to retrieve the dropdown values (which is simple). Please note that I added the GUI-function 'SAVE' to the GUI-status MAIN100.
* MODULE PAI INPUT *
MODULE pai INPUT.
save_ok = ok_code.
CLEAR ok_code.
"$TMP
g_grid->check_changed_data( ). " retrieve changes from editable grid
CASE save_ok.
WHEN 'EXIT'.
PERFORM exit_program.
"$TMP
WHEN 'SAVE'.
PERFORM save_data.
WHEN OTHERS.
* do nothing
ENDCASE.
ENDMODULE. "pai INPUT
*& Form SAVE_DATA
* text
FORM save_data. "$TMP
* define local data
data: ls_fcat type lvc_s_fcat,
lt_fcat type lvc_t_fcat.
lt_fcat = gt_fieldcat.
ls_fcat-edit = ' '.
modify lt_fcat from ls_fcat
TRANSPORTING edit
where ( edit = 'X' ). " display ALV should be not editable
" Simulate saving of data
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
* I_CALLBACK_PROGRAM = ' '
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
I_GRID_TITLE = 'Display modified list data'
* I_GRID_SETTINGS =
* IS_LAYOUT_LVC =
IT_FIELDCAT_LVC = lt_fcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS_LVC =
* IT_SORT_LVC =
* IT_FILTER_LVC =
* IT_HYPERLINK =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT_LVC =
* IS_REPREP_ID_LVC =
I_SCREEN_START_COLUMN = 5
I_SCREEN_START_LINE = 5
I_SCREEN_END_COLUMN = 120
I_SCREEN_END_LINE = 20
* I_HTML_HEIGHT_TOP =
* I_HTML_HEIGHT_END =
* IT_EXCEPT_QINFO_LVC =
* IR_SALV_FULLSCREEN_ADAPTER =
TABLES
t_outtab = gt_outtab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "SAVE_DATA
And here is the entire coding: In order to find the modified parts of the coding simply search for $TMP.
PROGRAM zus_sdn_bcalv_edit_07.
* Purpose:
* ~~~~~~~~
* This example shows how to define dropdown listboxes for
* particular cells of your output table.
* To check program behavior
* ~~~~~~~~~~~~~~~~~~~~~~~~~
* Conceive that customers are only allowed to smoke in the
* first class. For this reason, if the customer is a smoker
* only the first class (F) can be chosen in column 'CLASS',
* otherwise all classes.
* Essential steps (search for '§')
* ~~~~~~~~~~~~~~~
* 1.Define an extra field in your output table
* 2.Define a dropdown table and pass it to ALV.
* 3.Set your dropdown field editable and assign the fieldname of the
* corresponding additional field to DRDN_FIELD of the fieldcatalog.
* 4.Set the handle of your additional field of your output
* table according to the listbox that shall be displayed.
DATA: ok_code LIKE sy-ucomm,
save_ok LIKE sy-ucomm,
g_container TYPE scrfname VALUE 'BCALV_GRID_DEMO_0100_CONT1',
g_grid TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container,
gt_fieldcat TYPE lvc_t_fcat,
gs_layout TYPE lvc_s_layo,
g_max TYPE i VALUE 100.
*§1.Define an extra field in your output table
* for each column where you want to use drop down listboxes.
* (One additional field refers to cells of one column).
DATA: BEGIN OF gt_outtab OCCURS 0.
INCLUDE STRUCTURE sbook.
DATA: drop_down_handle TYPE int4.
DATA: END OF gt_outtab.
* MAIN *
END-OF-SELECTION.
CALL SCREEN 100.
* MODULE PBO OUTPUT *
MODULE pbo OUTPUT.
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'MAIN100'.
IF g_custom_container IS INITIAL.
PERFORM create_and_init_alv CHANGING gt_outtab[]
gt_fieldcat.
ENDIF.
ENDMODULE. "pbo OUTPUT
* MODULE PAI INPUT *
MODULE pai INPUT.
save_ok = ok_code.
CLEAR ok_code.
"$TMP
g_grid->check_changed_data( ). " retrieve changes from editable grid
CASE save_ok.
WHEN 'EXIT'.
PERFORM exit_program.
"$TMP
WHEN 'SAVE'.
PERFORM save_data.
WHEN OTHERS.
* do nothing
ENDCASE.
ENDMODULE. "pai INPUT
* FORM EXIT_PROGRAM *
FORM exit_program.
LEAVE PROGRAM.
ENDFORM. "exit_program
*& Form SAVE_DATA
* text
FORM save_data. "$TMP
* define local data
data: ls_fcat type lvc_s_fcat,
lt_fcat type lvc_t_fcat.
lt_fcat = gt_fieldcat.
ls_fcat-edit = ' '.
modify lt_fcat from ls_fcat
TRANSPORTING edit
where ( edit = 'X' ). " display ALV should be not editable
" Simulate saving of data
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
* I_CALLBACK_PROGRAM = ' '
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
I_GRID_TITLE = 'Display modified list data'
* I_GRID_SETTINGS =
* IS_LAYOUT_LVC =
IT_FIELDCAT_LVC = lt_fcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS_LVC =
* IT_SORT_LVC =
* IT_FILTER_LVC =
* IT_HYPERLINK =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT_LVC =
* IS_REPREP_ID_LVC =
I_SCREEN_START_COLUMN = 5
I_SCREEN_START_LINE = 5
I_SCREEN_END_COLUMN = 120
I_SCREEN_END_LINE = 20
* I_HTML_HEIGHT_TOP =
* I_HTML_HEIGHT_END =
* IT_EXCEPT_QINFO_LVC =
* IR_SALV_FULLSCREEN_ADAPTER =
TABLES
t_outtab = gt_outtab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "SAVE_DATA
*& Form BUILD_FIELDCAT
* text
* <--P_GT_FIELDCAT text
FORM build_fieldcat CHANGING pt_fieldcat TYPE lvc_t_fcat.
DATA ls_fcat TYPE lvc_s_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'SBOOK'
CHANGING
ct_fieldcat = pt_fieldcat.
LOOP AT pt_fieldcat INTO ls_fcat.
* Exchange smoker field with invoice field - just to
* make the dependance between SMOKER and CLASS more transparent
* (Smoking is only allowed in the first class).
IF ls_fcat-fieldname EQ 'SMOKER'.
ls_fcat-col_pos = 11.
ls_fcat-outputlen = 10.
MODIFY pt_fieldcat FROM ls_fcat.
ELSEIF ls_fcat-fieldname EQ 'INVOICE'.
ls_fcat-col_pos = 7.
MODIFY pt_fieldcat FROM ls_fcat.
ELSEIF ls_fcat-fieldname EQ 'CLASS'.
*§3.Set your dropdown field editable and assign the fieldname of the
* corresponding additional field to DRDN_FIELD of the fieldcatalog.
ls_fcat-edit = 'X'.
ls_fcat-drdn_field = 'DROP_DOWN_HANDLE'.
ls_fcat-outputlen = 5.
* Field 'checktable' is set to avoid shortdumps that are caused
* by inconsistend data in check tables. You may comment this out
* when the test data of the flight model is consistent in your system.
ls_fcat-checktable = '!'. "do not check foreign keys
MODIFY pt_fieldcat FROM ls_fcat.
ENDIF.
ENDLOOP.
ENDFORM. "build_fieldcat
*& Form CREATE_AND_INIT_ALV
* text
* <--P_GT_OUTTAB text
* <--P_GT_FIELDCAT text
* <--P_GS_LAYOUT text
FORM create_and_init_alv CHANGING pt_outtab TYPE STANDARD TABLE
pt_fieldcat TYPE lvc_t_fcat.
DATA: lt_exclude TYPE ui_functions.
CREATE OBJECT g_custom_container
EXPORTING
container_name = g_container.
CREATE OBJECT g_grid
EXPORTING
i_parent = g_custom_container.
PERFORM build_fieldcat CHANGING pt_fieldcat.
* Optionally restrict generic functions to 'change only'.
* (The user shall not be able to add new lines).
PERFORM exclude_tb_functions CHANGING lt_exclude.
PERFORM set_drdn_table.
PERFORM build_data CHANGING pt_outtab.
CALL METHOD g_grid->set_table_for_first_display
EXPORTING
it_toolbar_excluding = lt_exclude
CHANGING
it_fieldcatalog = pt_fieldcat
it_outtab = pt_outtab[].
* Set editable cells to ready for input initially
CALL METHOD g_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.
ENDFORM. "CREATE_AND_INIT_ALV
*& Form EXCLUDE_TB_FUNCTIONS
* text
* <--P_LT_EXCLUDE text
FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions.
* Only allow to change data not to create new entries (exclude
* generic functions).
DATA ls_exclude TYPE ui_func.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row.
APPEND ls_exclude TO pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_move_row.
APPEND ls_exclude TO pt_exclude.
ENDFORM. " EXCLUDE_TB_FUNCTIONS
*& Form set_drdn_table
* text
* --> p1 text
* <-- p2 text
FORM set_drdn_table.
*§2.Define a dropdown table and pass it to ALV.
* One listbox is referenced by a handle, e.g., '1'.
* For each entry that shall appear in this listbox
* you have to append a line to the dropdown table
* with handle '1'.
* This handle can be assigned to several columns
* of the output table using the field catalog.
DATA: lt_dropdown TYPE lvc_t_drop,
ls_dropdown TYPE lvc_s_drop.
ls_dropdown-handle = '1'.
ls_dropdown-value = 'F'.
APPEND ls_dropdown TO lt_dropdown.
ls_dropdown-handle = '2'.
ls_dropdown-value = 'F'.
APPEND ls_dropdown TO lt_dropdown.
ls_dropdown-handle = '2'.
ls_dropdown-value = 'C'.
APPEND ls_dropdown TO lt_dropdown.
ls_dropdown-handle = '2'.
ls_dropdown-value = 'Y'.
APPEND ls_dropdown TO lt_dropdown.
CALL METHOD g_grid->set_drop_down_table
EXPORTING
it_drop_down = lt_dropdown.
ENDFORM. " set_drdn_table
*& Form build_data
* text
* --> p1 text
* <-- p2 text
FORM build_data CHANGING pt_outtab TYPE STANDARD TABLE.
DATA: lt_sbook TYPE TABLE OF sbook,
ls_sbook TYPE sbook,
l_index TYPE i,
ls_outtab LIKE LINE OF gt_outtab.
SELECT * FROM sbook INTO TABLE lt_sbook UP TO g_max ROWS."#EC CI_NOWHERE
IF sy-subrc NE 0.
PERFORM generate_entries CHANGING lt_sbook.
ENDIF.
*§4.Set the handle of your additional field of your output
* table according to the listbox that shall be displayed.
LOOP AT lt_sbook INTO ls_sbook.
l_index = sy-tabix.
MOVE-CORRESPONDING ls_sbook TO ls_outtab.
CLEAR ls_outtab-class.
* Alternate between smoker and non smoker to make
* it more obvious what this example is about
l_index = l_index MOD 2.
IF l_index EQ 1.
ls_outtab-smoker = 'X'.
ELSE.
ls_outtab-smoker = ' '.
ENDIF.
IF ls_outtab-smoker EQ 'X'.
ls_outtab-drop_down_handle = '1'.
ELSE.
ls_outtab-drop_down_handle = '2'.
ENDIF.
APPEND ls_outtab TO pt_outtab.
ENDLOOP.
ENDFORM. " build_data
*& Form generate_entries
* text
* <--P_LT_SLFIGHT text
FORM generate_entries CHANGING pt_sbook TYPE STANDARD TABLE.
DATA: ls_sbook TYPE sbook,
l_month(2) TYPE c,
l_day(2) TYPE c,
l_date(8) TYPE c,
l_prebookid TYPE i.
ls_sbook-carrid = 'LH'.
ls_sbook-connid = '0400'.
ls_sbook-forcurkey = 'DEM'.
ls_sbook-loccurkey = 'USD'.
ls_sbook-custtype = 'B'.
DO 110 TIMES.
l_prebookid = sy-index.
ls_sbook-forcuram = sy-index * 10.
ls_sbook-loccuram = ls_sbook-loccuram * 2.
ls_sbook-customid = sy-index.
ls_sbook-counter = 18.
ls_sbook-agencynum = 11.
l_month = sy-index / 10 + 1.
DO 2 TIMES.
l_day = 3 + l_month + sy-index * 2.
l_date+0(4) = '2000'.
l_date+4(2) = l_month.
l_date+6(2) = l_day.
ls_sbook-fldate = l_date.
SUBTRACT 3 FROM l_day.
ls_sbook-order_date+0(6) = l_date+0(6).
ls_sbook-order_date+6(2) = l_day.
ls_sbook-bookid = l_prebookid * 2 + sy-index.
IF sy-index EQ 1.
ls_sbook-smoker = 'X'.
ELSE.
ls_sbook-smoker = space.
ENDIF.
ls_sbook-luggweight = l_prebookid * 10.
IF ls_sbook-luggweight GE 1000.
ls_sbook-wunit = 'G'.
ls_sbook-class = 'C'.
ELSE.
ls_sbook-wunit = 'KG'.
ls_sbook-class = 'Y'.
ENDIF.
IF ls_sbook-bookid > 40 AND ls_sbook-wunit EQ 'KG'.
ls_sbook-invoice = 'X'.
ENDIF.
IF ls_sbook-bookid EQ 2.
ls_sbook-cancelled = 'X'.
ls_sbook-class = 'F'.
ENDIF.
APPEND ls_sbook TO pt_sbook.
ENDDO.
ENDDO.
ENDFORM. " generate_entries
Regards
Uwe -
How to disable a single cell in a table (and not the whole column)
Hi there,
I've got a webdynpro table with a few columns, rows can be created dynamically through a button in the table toolbar.
Depending on the value of a certain cell I have to disable another cell (in the same row).
I tried to manipulate the view in the modifyview but no joy. I also tried to manipulate the attribute property through the coding below:
DATA lv_knttp TYPE knttp.
lo_nd_kostl = wd_context->path_get_node( path = `MULTIVALUES.KOSTL` ).
lo_el_kostl = lo_nd_kostl->get_element( ).
lo_el_kostl->set_attribute_property(
attribute_name = 'LTEXT'
property = lo_el_kostl->e_property-enabled
value = ''
but it disables the whole column!!!! I just need the cell to be disabled (I thought the code above, through the lead selection, would affect a certain cell only - but I was wrong).
Any ideas?
Thanks!!!Hi,
using cell variants you can do this.,
check this article: [Cell Variants in WDA|http://wiki.sdn.sap.com/wiki/display/WDABAP/WebDynproforABAPCellVariants]
Instead of binding the read only property of table as a whole , just bind the read only property of column group of table., You can do this bu drill down the table and select the required column and bind the read only column.,
then In onAction Event of button .,
loop the table, if condition satisfied set the read only property to true else false.,!!
hope this helps u.,
Thanks & regards,
Kiran -
ALV: how to disable editable cell and F4 in certain rows only.
I am building a table maintenance front-end with an ALV grid using OOP concept. Certain fields are editable and also have customised search helps assigned to them in the ALV structure defined for the grid. What I want is where I have identified an entry in my database table as being locked by another user, I want to grey the line out on the ALV grid so that the entry cannot be edited and not have f4 input whilst this entry is locked by another user.
I can grey the line out or disable F4 but not both at the same time. If I disable the cells of the row concerned using MC_STYLE_DISABLED, the F4 is still active and will change the contents of the cell concerned via the data_changed event method in CL_GUI_ALV_GRID.
I have used MC_STYLE_DISABLED where I have declared a layout in my table similiar to this:
DATA: BEGIN OF OUTPUT OCCURS 0,
FIELD1,
FIELD2,
STYLE TYPE LVC_T_STYL,
LOCK TYPE C.
END OF OUTPUT.
DATA: ls_celltab TYPE lvc_s_styl.
* Where lock identified, field LOCK set to 'X'.
LOOP AT OUTPUT where lock = 'X'.
ls_celltab-fieldname = 'FIELD1'.
ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled.
APPEND ls_celltab TO OUTPUT-STYLE.
ls_celltab-fieldname = 'FIELD2'.
ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled.
APPEND ls_celltab TO OUTPUT-STYLE.
ENDIF.
append OUTPUT.
I have tried adding MC_STYLE_F4_NO to field LS_CELLTAB-STYLE2 but this does not do both actions atthe same time.
Can anyone suggest what I might be doing wrong or an alternative way around this?
Many thanks
Regards
LarissaAs I have explained, I have fields that are editable AND are F4 enabled. What I want is for certain rows of the ALV that I do not want any procesing to occur to make all fields in that row not available for input AND not f4 enabled. I read a lock using a lock object. If the entry in my ALV matches the key locked in the lock object, I want that line to be in display mode only in the ALV with no F4 help being able to be called. It happens on the grid frontend when I press enter and have checked if any of my entries in my ALV are already locked by another user. The code is too long to post here. I can disbale the editable fields using MC_STYLE_DISABLED as described above but then the little drop down to enable F4 input is still visible against the field.
I have got round it by calling the f4 in event HANDLE_ON_F4 to not go via the search help and set er_event_data->m_event_handled = c_yes so that the F4 hit list does not appear, but I want to get rid of the drop down marker in that field in that instance.
Hope this is a little clearer now.
Larissa -
Set_cell_Editor for single cells rather then complete column
Is it possible to set a cell editor (eg a link) only for single cells of a column.
Regards
Renehi rene.....
you cannot do that......
may be you can have an extral column called enabled or disabled and bind that property to the enabled property of the cell editor so that only one cell will be enabled while others disabled.
---regards,
alex b justin -
Concatenation of Data from 4 infoobjects into a single cell in Bex Report
Hi,
I have loaded ODS with the description data. The source system for loading the ODS is the flat file. The ODS data should be a replica of the flat file.
In the flat file, there is a description field corresponding to a particular ID. This Description is greater than the standard 60 char length. So, I had to split the description while loading the flat file using single line routine in the Transfer Structure.
So, while loading different the data, I split the description field data from the flat file into 4 infoobjects and the flat file data was loaded into the ODS.
Now, from the reporting point of view, I need to display the entire description data from the 4 info-objects into a single cell in the Bex report.
Please suggest a solution for this.
<b>****Points will be awarded***</b>Hi Vineet,
Thanks for the response.
Could you please help me out with the VBA script(code) that needs to be written in the macro.
Thanks in Advance.
<i><b>****Points will be awarded****</b></i>
Regards,
Hitesh Shetty. -
Multiple values in a single cell in report !!
Hello,
I want to display multiple values in a single cell, each value separated by comma.
Ex: I have Employee and Department.
If a employee works for many departments, all the Department names should be displayed in the same cell in the report.
Please help !Thanks for your replies !
Is there any other way to achieve this ?
There is 1 InfoObject which has 2 fields Employee and Department.
Employee Department
001 A
001 B
001 C
In the report there should be 1 row for Employee 001 with all the Departments displayed in the same cell separated by commas.
Can this be done in the backend through a ABAP code? -
I would like to know if there is a way to add multiple borders to a single cell or selection of cells in one click. At this time, if i want to add for example a top border and a bottom border to a single cell I have to do this in two steps: first select the top border, style, thickness, and color, and then next select the bottom border, style, thickness, and color. Is there a way to select the top and bottom border of a cell in one click? Clicking on the top border then holding down the command key while selecting the bottom border does not work, nor does holding down the option key, the control key, or the shift key work. Thanks for your help.
Thank you for the suggestion but this did not work for my Mac. When a cell is selected for which I want borders, the entire cell is lit up. Then when I go to the border tool and select style, thickness, and color, the entire lit up cell takes on the border, that is the Outside Edges of the cell now have a border. So selecting the style, thickness, and color first doesn't work.
If I select the top border first (or any border), the drop down goes away and I can't select multiple borders - I get to choose one at a time. After selecting one border, style, thickness, and color, said border is now on the spreadsheet. Then I go back to the border selection and pick another border and the the previously selected style, thickness, and color reverts to null, so I start over with the new border style, thickness, and color. Yes, it is tedious.
The Fix would allow the user to select multiple borders, say left and right, before the drop down goes away after selecting only one border
Does it have something to do with Allow or Disallow border selection?
I have Numbers '09 version 2.1 (436) -
I see people from different ages at my work and every month I need to count how many people from each age I've seen that month. How can I do to give the entries to numbers in a single cell and make numbers count them for me? The final result would be a spreadsheet telling there were 8 people from 20 to 39 years old, 14 peolple from 40 to 59 and so on...
jpqcampos wrote:
This appears to be an 'input form' using 'Radio Buttons' to select the category. Neither of these features are supported in Numbers '09.
You can input the data on one table and summarize it on a second table, but the input table will continue to hold data for each event.
And by using the Reorganize button, you can hide all but two rows of that table to approximate the appearance and performance of an input form.
Here are the two tables, Data on the left and Summary on the right. Notes below.
The grey-filled columns in both tables are 'working' columns, and may be hidden (as shown in the image below).
Data table:
D1 contains the word "TRUE" (in capital letters). (This row is always shown.)
D2 is empty, or may contain any value except "TRUE" (This row is always hidden under the Reorganize rule.)The rest of Row 2 of this table requires the data shown: a number outside the range to be counted (999), and two checkboxes, both checked.
D3 (and filled down the rest of column D): =AND(OR(B2,C2),NOT(OR(B3,C3)))
The formula returns TRUE only for the first unused row in the table (ie. the first row for which neither checkbox has been checked)
Summary table:
Column A contains labels for the age ranges to be counted.
Column B contains the same information in the form necessary for the formulas in columns C and D. They need a numeric value, and that value must be the largest acceptable value in the range to be counted.
C2 (and filled right to column D, then both filled down to row 5):
=COUNTIFS(Data :: $A,"<="&$B,Data :: B,TRUE)-SUM(C$1:C1)
Two changes from the previous example:
COUNTIFS is used to separate the Native and Foreign counts as well as the age range to be counted.
The amount subtracted from each result is the SUM of the earlier results, and includes the text value in the first cell of the column (which is interpreted by SUM as a zero).
See note below regarding my earlier formula.
When the greyed columns are hidden and the checkbox in the Reorganize pane is checked, the two tables will appear as shown below:
Close the reorganize pane, and the 'data entry form' is ready to use.
To use, enter the age first, then check one of the boxes.
As soon as one box is checked, the row will be hidden, and the next (unused) row will be shown.
Regards,
Barry
Note regarding formula in my earlier post:
The earlier formula will give erroneous results as it subtracts only the count directly above it from its count of persons in the age range 0-n.
In E2 of that table, replace "-E1" with "-SUM(E1:E$1)
Fill down to E8.
Ignore the instructions (in that post) following "Fill down to E8."
B -
Show top n sum of a dimension in a single cell
Hi experts,
is it possible to show the sum of top n values in a single cell?
example:
Table shows (top 3)
USA___________180
Germany_______150
Italy___________100
Sum___________430
single cell should show
430Create a variable "rank" as
=Rank([Measure])
Then, in the standalone cell, enter the formula:
=Sum([Measure] Where ([rank] < 4)) -
How do I outline a single cell in a numbers spreadsheet
I am trying to emphasise the borders of a single cell in a numbers spreadsheet; I follow all the instructions I can find in mac help, they just don't make any difference. I may be ancient, but I can usually suss things out in time; this baffles me. However, I do realize I may have blundered into the wrong type of help forum here.
To place borders around a cell in Numbers -
Make sure the cell has been selected, i.e. is the active cell.
Click the Inspector tool in the Toolbar -
Then click the Table inspector icon in the Inspector window's toolbar -
In that screen, look down to the section "Cell Borders"...
Click the button for full border (arrow in pic above) -
Adjust the color of the border as needed for visibility (oval in pic above) -
And then you may need to adjust the line weight (thickness) to get it visible on-screen. To do that, click the dropmenu in that section showing "Thin" and select the next item underneath "thin" in the menu. This will make the item just to the right of that menu active - you can then use the arrow-buttons to make the line weight thicker. Although the thinnest setting (0.25 pt) may print okay, on some screens it just doesn't show - especially of the border color has not been set to a hard black. Making it thicker can help in viewing it on-screen. -
How do I resize a single cell in a TableView?
So I have a tableview, and when a user selects it, I would like to resize that particular cell.
I have all my code in place in terms of drawing that particular cell when selected, but my only problem is I can't seem to figure out how to resize a single cell. For example, if all my cells have a height of 40, I want the selected cell to have a height of 80. I have tried setFrame, I have tried initWithFrame when creating the cell. I figure I'm missing something pretty simple, but I don't see anything as simple as [cell setHeight] or something like that.
thanks!What Rick says will work. I have done it. In some cases you may need to set the needsDisplay and or needsLayout properties on your custom cell if you have one.
-
How to set threshold value for single tablespace in grid control 11g
Hi,
I want to set the threshold value for a single tablespace in grid control 11g,
please provide me a navigation path.Sandy wrote:
Can you please provide me the full navigation path?go to Targets --> Databases
Select the Database you like to set this alert for
Select link Metrics and Policy Settings
Maybe you are looking for
-
Need help trying to reset Windows 8.1 apps
I've been having issues with my apps for a while now, and I feel I am not the only one. I'm not sure when it happened or what cause the issue (it seems like it started happening after an update), but I feel I am on the verge of figuring out a fix (th
-
I have an iphone 4 and cannot get my mute off when I am using Facetime. I can hear them, but they can't hear me. When I touch the mute button, nothing happens. Can someone please tell me how to fix this?
-
Trying to edit PDF file without success
I am trying to edit the wording of a a few lines in a long pdf. I have seen the tutorials but cant find anywhere it shows how I can delete and correct typos. How is this done in preview if it can be done at all?
-
Hi, I need to move a user from one mailbox store to another in Exchange 2007 using OIM. From what I could gather, there is no task for this. Is there a way to create a task that executes this modification (move user)? Thanks
-
we have made multithread rtp streaming server and tried to transmit the mpg file in a applet on a web page using tom-cat server. we got the following error... Cannot create the RTP Session: Local Data AddressDoes not belong to any of this hosts local