Web Dynpro ALV grid column colour
Hi,
I have tried to set the colour of a column for my web dynpro alv with the below code but it the colour for this column has not changed - it seems to remain the standard colour. Is there something else i need to do?
DATA: lt_columns TYPE salv_wd_t_column_ref
, ls_columns TYPE salv_wd_s_column_ref
, lr_column TYPE REF TO cl_salv_wd_column
lt_columns = lo_value->if_salv_wd_column_settings~get_columns( ).
LOOP AT lt_columns INTO ls_columns.
IF ls_columns-id CS 'TOTAL_'.
lr_column = ls_columns-r_column.
lr_column->set_cell_design( cl_wd_abstr_master_table_col=>e_cell_design-positive ). "CL_WD_TABLE_COLUMN=>E_CELL_DESIGN-GROUP_LEVEL1
ENDIF.
ENDLOOP.
Hi Samir,
You will have to create an attribut WDUI_TABLE_CELL_DESIGN and bind this attribute with the cell design property of the column. Check this wiki link [https://wiki.sdn.sap.com/wiki/display/Snippets/ABAP%20Web%20Dynpro%20ALV%20-%20Change%20Cell%20Colour%20based%20on%20Content], it will solve your issue.
Regards,
Radhika.
Similar Messages
-
Web Dynpro ALV grid column width
Hi,
I have a web dynpro alv grid that has columns titles that are long. What is the best way of displaying the data without taking up too much space with the titles?
For example is it possible to wrap the title into 2 or 3 rows
Thanks,
SamirHi,
DATA: lr_column type ref to cl_salv_wd_column,
lr_colheader type ref to cl_salv_wd_column_header.
CALL METHOD lrcolumn->get_header
RECEIVING
value = lr_COLHEADER.
lr_COLHEADER->set_ddic_binding_field( if_salv_wd_c_ddic_binding=>ddic_bind_short ).
Refer this if_salv_wd_c_ddic_binding in se24 for more.
Regards,
Lekha. -
Web Dynpro ALV grid column names
Hi,
I wish to specify the text that appears on the column names. At present the name defaults to the field name within the structure. Is there a way to specify the name that i wish to appear for each column? Many thanks in advance
SamirHi,
Use the following code
* Instantiate the used component
DATA lo_cmp_usage TYPE REF TO if_wd_component_usage.
lo_cmp_usage = wd_this->wd_cpuse_usg_alv( ).
IF lo_cmp_usage->has_active_component( ) IS INITIAL.
lo_cmp_usage->create_component( ).
ENDIF.
* Get Model
DATA lo_interfacecontroller TYPE REF TO iwci_salv_wd_table .
lo_interfacecontroller = wd_this->wd_cpifc_usg_alv( ).
DATA lo_value TYPE REF TO cl_salv_wd_config_table.
lo_value = lo_interfacecontroller->get_model(
*---------- ALV table settings.
DATA: l_table_settings TYPE REF TO if_salv_wd_table_settings .
l_table_settings ?= lo_value.
wd_this->l_table = l_table_settings .
* Set the Editable property to true
l_table_settings->set_read_only( abap_false ).
* Set table header
DATA: l_header TYPE REF TO cl_salv_wd_header.
l_header = l_table_settings->get_header( ).
l_header->set_text( 'Sales Orders' ).
*---------- Column settings
DATA: l_column_settings TYPE REF TO if_salv_wd_column_settings.
l_column_settings ?= lo_value.
* Get columns
DATA: lt_columns TYPE salv_wd_t_column_ref ,
ls_columns TYPE salv_wd_s_column_ref .
DATA: l_column_header TYPE REF TO cl_salv_wd_column_header .
lt_columns = l_column_settings->get_columns( ) .
LOOP AT lt_columns INTO ls_columns .
CASE ls_columns-id .
WHEN 'VBELN' .
l_column_header = ls_columns-r_column->get_header( ) .
l_column_header->set_ddic_binding_field(
if_salv_wd_c_column_settings=>ddic_bind_none ) .
l_column_header->set_text( 'Sales Order' ). " column header
WHEN 'POSNR .
l_column_header = ls_columns-r_column->get_header( ) .
l_column_header->set_ddic_binding_field(
if_salv_wd_c_column_settings=>ddic_bind_none ) .
l_column_header->set_text( 'Item No' ) . "column header
WHEN 'ZMENG'.
l_column_header = ls_columns-r_column->get_header( ) .
l_column_header->set_ddic_binding_field(
if_salv_wd_c_column_settings=>ddic_bind_none ) .
l_column_header->set_text( 'Qty' ). "column header
WHEN OTHERS .
ls_columns-r_column->set_visible(
cl_wd_uielement=>e_visible-none ) .
ENDCASE .
ENDLOOP.
Regards,
Radhika. -
Hi,
I have created an application that uses a web dynpro alv grid. I want to display totals - is there a setting that can do this automatically - if so, can you please tell me how to do this? Thanks,Hi
You can take help of following code snippet to create totals for a particular column
Data: lr_function_settings TYPE REF TO CL_SALV_WD_CONFIG_TABLE.
DATA: lr_column_settings TYPE REF TO if_salv_wd_column_settings,
lr_column TYPE REF TO cl_salv_wd_column,
lt_column type salv_wd_t_column_ref,
ls_column type salv_wd_s_column_ref.
Data: lr_field_amnt type REF TO CL_SALV_WD_FIELD.
* get reference of ALV component
lr_salv_wd_table = wd_this->wd_cpifc_OVERVIEW_EARNED_ALV( ).
wd_this->alv_config_table = lr_salv_wd_table->get_model( ).
* get function settings
lr_function_settings ?= wd_this->alv_config_table.
* display columns in correct order
lr_column_settings ?= wd_this->alv_config_table.
lt_column = lr_column_settings->get_columns( ).
loop at lt_column into ls_column.
CASE ls_column-id.
when 'AMOUNT'
* aggregate field
CALL METHOD LR_FUNCTION_SETTINGS->IF_SALV_WD_FIELD_SETTINGS~GET_FIELD
EXPORTING
FIELDNAME = 'AMOUNT'
RECEIVING
VALUE = lr_field_amnt.
* create aggregate rule as total
CALL METHOD LR_FIELD_AMNT->IF_SALV_WD_AGGR~CREATE_AGGR_RULE
EXPORTING
AGGREGATION_TYPE = IF_SALV_WD_C_AGGREGATION=>AGGRTYPE_TOTAL
RECEIVING
VALUE = lv_aggr_rule.
endcase.
Regards
Manas DUa -
Web Dynpro ALV grid filter on date
Hi,
I want to set a "view" on my web dynpro alv grid that uses the current date. Is there a way to specify the current date in the filter values? Thanks,
SamirThanks Thomas. I will certainly look into using POWL in the future.
A related question - Its possible to use a filter by entering something like " .01. " but it doesnt seem to allow me to save that value as its not a date. Is there any way around this? Thanks -
Hi,
I have a web dynpro alv table that has many columns (about 20) I would like it to be displayed so that the user does not have to scroll right to see all the data.
at the moment columns:
col1 col2 col3 ......col19 col20
i would like the second half of the table under the 1sta half:
col1 col2 col3...col9 col10
col11 col12...col19 col20
Is there any way that i can get the table to be split into two or some other nice way to display without scrolling?You won't be able to do this with a single ALV. I suppose you could have two ALVs and bind them both to the same context. You wouldn't be able to sync the veritcal scrolling between the the two ALVs however. I'm also not sure how usage this design is from a UI design pattern. I would think the acceptible approach would be to use horizontal scrolling within the ALV. You don't have to make the ALV display all columns at once as this can make your entire page very wide and require using the browser scrolling. Instead consider using the set_scrollable_col_count method.
-
Web Dynpro ALV grid sub totals
Hi,
I have managed to get totals working with web dynpro ALV using code like this :
DATA: lr_field TYPE REF TO cl_salv_wd_field.
For total calculations...
lo_value->if_salv_wd_std_functions~set_aggregation_allowed( abap_true ).
lr_field = lo_value->if_salv_wd_field_settings~get_field( 'N_OF_DLRS' ).
lr_field->if_salv_wd_aggr~create_aggr_rule( aggregation_type = if_salv_wd_c_aggregation=>aggrtype_total ).
Please can someone advise how i can do subtotals also. Thanks
Edited by: Samir Vora on Jul 15, 2009 12:40 PMHi,
For creating subtotals, you can have a look at following article:
[Tutorial for Creation Subtotals using ALV|https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/user-interface-technology/wd%20abap/tutorial%20for%20creating%20totals%20and%20subtotals%20using%20alv.pdf].
Hope this helps.
Regards
Manas Dua -
Web Dynpro ALV grid equivalent of onLeadSelect
Hi,
I am new to web dynpro alv and would like to know how to implement the equivelent of the action onLeadSelect that you can do with a table UIElement, but I want to do this for the ALV table that I have. Many thanks,
SamirHi,
Go to the View's property tab and include you ALV in that.
whenever you instantiate the ALV then in the view, METHODS tab, you can find the Event handler for the lead selection for that ALV. Implement that.
Method name Method type Event
ONLEADSELECT Eventhandler ON_LEAD_SELECT
Check out the links -
Re: click event on ALV
http://www.flickr.com/photos/31042772@N08/3408386623/
Regards,
Lekha -
WEB DYNPRO ALV GRID : CELL CONTENT - Initial Value
I created a sort of 'Timesheet' in web dynpro...
Unfortunatly, for all days of the month it displays '0.00' as initial value...
Is it possible to not display this initial value or display space/empty ?
In gui alv it is possible, I don't know if it could be done in web dynproHi,
For the node to which the ALV is bound. For the column (context attribute) check the property of the attribute check the formatting propertioes as ZEROS AS BLANKS
for ex: price is the context attrbiute check the properties.
This FORMATTING options for the context attribute is found in the latest verions like EHP4.
Regards,
Lekha. -
Action on selected row in Web dynpro ALV grid
Hello,
i'm pretty new on web dynpro development, and i need some help.
I have a working grid alv and i would like to create an event when i select a row (not editable).
I have looked around and didn't find anything interesting.
Do you have a solution?
Thanks a lot.
CedricHi.,
U have to use onLeadSelection Event Handler.,
Check this tutorial.,: [ALV onLead Selection another ALV|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/7020c76f-c40e-2e10-a795-d88e67740ee4?quicklink=index&overridelayout=true]
hope this helps u.,
Thanks & Regards
Kiran. -
Filter in web dynpro ALV grid error
The filter in the ALV web dynpro seems to work like *<condition>*. let's say if you have 4 entries in the table 30,230,300,1230 applying the filter value '30' will select all of them making the filter function virtually useless.
Is there a way to change how the filter works?Dear Stanley,
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/63a47dd9-0b01-0010-3d8e-de27242bf011
Regards,
Flavya -
Web Dynpro ALV grid navigation problems when entry is selected
Hi,
We have implemented support packs 19 and 20 and following this, we are having the following side effect :
When you click on an entry within an alv grid, it does not navigate to the next screen. It worked fine before the service packs, please advise if you have any suggestions as to how we can get it to work again!? Thanks in advance.
When I click, the debug does not event go to the ON_LEAD_SELECT event.
Edited by: James Wilson on Dec 10, 2009 3:52 PMHi Samir,
I think possibly you have other code which is relying on a lead selection being set in the context that you have provided to the ALV grid?
And it is that code that is falling over?
In this case I think you need to handle in that other code the possibility that the user/ALV grid will unselect all entries in the table.
Or am I misunderstanding your issue? Please do let us know,
Thanks,
Chris -
WEB DYNPRO ALV GRID GET SELECTED ROWS...
I'm reusing component ALV Grid ...
How can i get selected rows...Hi Stephan,
In order to get the multiple rows which were selected by the user you will just have to call the get_selected_elements method of if_wd_context_node. So as you can see its no different from how you would get the multiple rows selected by the user in a table ui element. First get the reference of the node which you have used to bind to the ALV & then call this method on it.
METHOD get_selected_rows .
DATA: temp TYPE string.
DATA: lr_node TYPE REF TO if_wd_context_node,
wa_temp TYPE REF TO if_wd_context_element,
ls_node1 TYPE wd_this->element_node_flighttab,
lt_node1 TYPE wd_this->elements_node_flighttab.
lr_node = wd_context->get_child_node( name = 'NODE_FLIGHTTAB' ).
" This would now contain the references of all the selected rows
lt_temp = lr_node->get_selected_elements( ).
LOOP AT lt_temp INTO wa_temp.
" Use the references to get the exact row data
CALL METHOD wa_temp->get_static_attributes
IMPORTING
static_attributes = ls_node1.
APPEND ls_node1 TO lt_node1.
CLEAR ls_node1.
ENDLOOP.
ENDMETHOD.
Hope this helps resolve your problem.
Regards,
Uday -
Web Dynpro ALV disable column sort for specific column
Hi,
I have the above mentioned problem. The Coding I use is:
DATA: lr_field_settings TYPE REF TO if_salv_wd_field_settings,
lt_fields TYPE SALV_WD_T_FIELD_REF.
FIELD-SYMBOLS: <fs_field> LIKE LINE OF lt_fields.
lr_field_settings ?= lr_config.
lt_fields = lr_field_settings->get_fields( ).
READ TABLE lt_fields ASSIGNING <fs_field> WITH KEY fieldname = 'ANSPRECH_DETAILS'.
IF sy-subrc EQ 0.
<fs_field>-r_field->if_salv_wd_sort~set_sort_allowed( abap_false ).
<fs_field>-r_field->if_salv_wd_sort~set_grouping_allowed( abap_false ).
ENDIF.
When debugging I can see that the object attributes for sort_allowed and grouping_allowed are changed from 'X' to ' '
but the running application still allows sorting and grouping for the column 'ANSPRECH_DETAILS'.
So what did I forget or what is my mistake ????
Thx for your help.
Dino DiniI got the similar requirement and I tried to do the below way.. it worked for me..
DATA: lr_field_settings TYPE REF TO if_salv_wd_field_settings.
DATA: lr_field TYPE REF TO cl_salv_wd_field.
lr_field_settings ?= lr_table.
lr_field = lr_field_settings->get_field( 'MATNR' ).
lr_field->IF_SALV_WD_SORT~SET_SORT_ALLOWED( abap_false
you can observe in the below image that sort option is not enabled for MATNR in the ALV. -
Web Dynpro ALV - get Columns of selected Variant
hi folks,
we use the personalization manager to set a start-up variant for displaying data in WD Abap ALV.
However, now we need the possiblity to get the columns shown on the screen (of that variant).
Using the functions like
lr_column_settings ?= wd_this->go_table.
lt_columns = lr_column_settings->get_columns( ).
on my config-table i always get ALL columns in the order of the Table i submitted to the ALV component.
What we need is as mentioned above to get the columns in order that are on the screen at the moment (or of that variant).
does anyone has a hint for me how to do that.
kind regards,
oliverThanks Oliver for the quick reply,
I tried the below code I am getting the variant right, but not the columns associated with the variant.
I get all the columns. Please check if I am missing anything,
DATA lo_INTERFACECONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE .
lo_INTERFACECONTROLLER = wd_this->wd_cpifc_em_list_alv( ).
data: lo_api_interfacecontroller type ref to IF_WD_CONTROLLER,
lo_pers TYPE REF TO if_wd_personalization,
lt_pers_table_ref TYPE REF TO IF_WD_PERS_TABLE,
lt_pers_table TYPE STANDARD TABLE OF WDR_PERS_DATA.
lo_api_interfacecontroller = lo_INTERFACECONTROLLER->wd_get_api( ).
CALL METHOD lo_api_interfacecontroller->get_personalization_manager
RECEIVING
pers_manager = lo_pers.
DATA: ls_config_key type WDY_CONFIG_KEY,
ls_PERS_SCOPE TYPE WDR_PERS_SCOPE,
ls_loaded TYPE WDY_BOOLEAN,
ls_desc TYPE WDY_MD_DESCRIPTION.
CALL METHOD lo_pers->GET_STATE
IMPORTING
CONFIG_KEY = ls_config_key
PERS_SCOPE = ls_PERS_SCOPE
IS_LOADED = ls_loaded
DESCRIPTION = ls_desc. -> Gives me the Variant info
data: ls_param_in type if_salv_wd_table=>s_type_param_config_in,
lv_s_param_out TYPE if_salv_wd_table=>s_type_param_config_out,
LS_r_model type ref to cl_salv_wd_config_table.
ls_param_in-action = if_salv_wd_table=>set.
ls_param_in-config_key = ls_config_key.
ls_param_in-is_model_requested = 'X'.
lv_s_param_out = lo_interfacecontroller->get_config_data(
s_param_in = ls_param_in
LS_r_model = lv_s_param_out-r_model.
data: lr_column_settings type ref to if_salv_wd_column_settings,
lt_columns TYPE STANDARD TABLE OF SALV_WD_S_COLUMN_REF.
lr_column_settings ?= LS_r_model.
lt_columns = lr_column_settings->get_columns( ). -> this gives me all columns, not columns associated to variant
Regards,
Prasad
Maybe you are looking for
-
Extend function in pl/sql table
declare type aar_test is table of varchar2(100) index by binary_integer; aar_main aar_test; begin aar_main.extend; aar_main(aar_main.last) :='Extend Cell'; end; it's return a error....it is possible??? if yes how...plzzzzzzzz help me...
-
How do I email a sheet that is inside a spreadsheet in numbers?
I tried to email a sheet that is inside a spreadsheet containing 10 sheets and all 10 sheets were emailed.
-
Excellent management software? (2)
(not trying to flame...I accidentally posted this on the wrong board earlier...) I'm new to my position and have been asked to find a network performance managment package for my company to use. I've searched around and found a few different solid of
-
Timing problem between XPS 14.4 x64 vs x86
Hello all, I am using XPS 14.4 on a x64 machine and I have a design which is failing timing contraints. However, when using the same design on a x86 machine, I do not have the problem. How is that possible? Thank you for your answers. Kind regards
-
Hello, at this moment Adove Web Viewer does not support SSL. Is Adobe working to support SSL in the near future? Background: We are planning to switch the whole website to SSL. Our problem is that an embedded Web Viewer call (iframe) within a ssl enc