Change selected row when press tab
Hi
I use JDev11.1 with ADF, i have grid in my jsf page, this grid are updatable, i need when i press tab and go to next record set selected row that cursor on it, how can i do that?
Thanks
Hi,
one option is to add a clientListener to the input text fields, intercept the tab key and then use a serverListener component to reference a managed bean method that
- sets the row currency to the next row
- PPRs the table so it shows the selection change
Frank
Similar Messages
-
How to Commit before Insert Row when Press Create Insert Button ?
Hi all;
I'm Using JDev 11.1.1.2.0
How to Commit before Insert Row when Press Create Insert Button in ADF11g?
<af:commandButton actionListener="#{bindings.CreateInsert.execute}"
text="CreateInsert"
disabled="#{!bindings.CreateInsert.enabled}"
id="cb8" />
best regards;You need to do a custom method eather in managed bean or in Application module to do that.
in managed bean it would be something like:
public void CommitAndInsert(ActionEvent actionEvent) {
OperationBinding opCommit = ADFUtils.findOperation("Commit");
opCommit.execute();
OperationBinding opCreateInsert = ADFUtils.findOperation("CreateInsert");
opCreateInsert.execute();
In page bindings Commit and CreateInsert must exist
then the button actionListener will be
<af:commandButton actionListener="#{backing.CommitAndInsert}" -
How can i select the next column instead of next row when press enter key
I need to know how can i select the next column instead of next row when i press the enter key.By default ,when i press enter key the next row is selected and the column remain unchanged but I wants opposite that is the row should remain unchanged but column index will changed.
Thanks to all.Well, the right arrow key will already move you to the next column, so the easiest way to do this is to modify the InputMap to have the Enter key invoke the same Action as the right arrow key.
You can search the forum for my "Table Actions" (without the space) example that will show you how to do this. -
How to deselect the selected row when we come back again?
Hi all,
I have one screen(100),which contains records.User can select any one record and click 'Details' button.Then it will take to screen 110.When I am coming back to screen 110 again.The previously selected row is again in selected mode only.Now if I am selecting another row and click the 'Detail' button.I am getting the error saying that 'Please select one record'.In debugging mode also I checked using the FM get_current_cell but nothing is getting selected surprisingly.
Even I used CALL METHOD grid->refresh_table_display in the PBO of screen 100.
Below is the code I used in PBO of screen 100
ODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'PF100'.
SET TITLEBAR 'TITLE'.
DATA: G_CONSISTENCY_CHECK TYPE CHAR1.
DATA: G_EXCLUDE TYPE UI_FUNCTIONS.
IF container100 IS INITIAL.
*ex_FUNCTIONS-
*-- Check execution mode (foreground/background)
IF cl_gui_alv_grid=>offline( ) IS INITIAL.
CREATE OBJECT CONTAINER100
EXPORTING CONTAINER_NAME = 'CONTAINER100'.
CREATE OBJECT GRID
EXPORTING I_PARENT = CONTAINER100.
CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = ''
I_CONSISTENCY_CHECK = G_CONSISTENCY_CHECK
IT_TOOLBAR_EXCLUDING = G_EXCLUDE
IT_TOOLBAR_EXCLUDING = IT_TOOLBAR
I_STRUCTURE_NAME =
IS_VARIANT = gs_layout
I_SAVE = 'A'
I_DEFAULT = 'X'
IS_LAYOUT = X_LAYOUT
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING = IT_TOOLBAR
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
CHANGING
IT_OUTTAB = IT_YAPOHDR_MAIN[]
IT_FIELDCATALOG = IT_FIELDCAT[].
IT_SORT =
IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4.
ENDIF.
*--Register enter key for data changed event
CALL METHOD grid->set_ready_for_input
EXPORTING i_ready_for_input = 0.
create object event_receiver.
Register the 'hotspot' event handler method dynamically...
set handler event_receiver->handle_hotspot_click for grid.
Register the User Command event handler method dynamically...
set handler event_receiver->handle_user_command for grid.
Register the User Command event handler method dynamically...
set handler event_receiver->handle_data_changed for grid.
else.
CALL METHOD grid->refresh_table_display.
endif.
ENDMODULE. " STATUS_0100 OUTPUT
The below is the code I used in PAI of screen 110.
MODULE USER_COMMAND_0110 INPUT.
DATA : LT_DETAILS_MAIN LIKE YAPOPLN_ITM OCCURS 0 WITH HEADER LINE,
LV_POP TYPE C,
APPROVE.
CASE SY-UCOMM.
WHEN 'BACK'.
CALL METHOD grid->REFRESH_TABLE_DISPLAY.
CALL METHOD grid->GET_FRONTEND_FIELDCATALOG.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
ENDMODULE. " USER_COMMAND_0110 INPUT
Please Let me know if there is any solution.
Thanks,
BalajiHello Balaji
The sample report <b>ZUS_SDN_TWO_ALV_GRIDS_7</b> shows basically what I meant in my previous answer. There is no row mark available on the first ALV list. Instead of bothering the user to push a button he or she can simply double-click on the ALV lists and sees the details of a customer.
As you can see there is absolutely no need to free any object instances or rebuild grid controls.
Final remark: based on the function module you mention I assume you are still using fm-based ALV lists. Do not use them. OO-based ALV lists are much easier to develop, to maintain and to enhance.
*& Report ZUS_SDN_TWO_ALV_GRIDS_7
*& Description: Display two ALV lists either in single screen or
*& two screens
*& Screen '0100' contains no elements.
*& ok_code -> assigned to GD_OKCODE
*& Flow logic:
* PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
* PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.
REPORT zus_sdn_two_alv_grids_7.
TYPE-POOLS: abap.
DATA:
gd_repid TYPE syst-repid,
gd_okcode TYPE ui_func,
go_docking TYPE REF TO cl_gui_docking_container,
go_docking2 TYPE REF TO cl_gui_docking_container,
go_splitter TYPE REF TO cl_gui_splitter_container,
go_cell_top TYPE REF TO cl_gui_container,
go_cell_bottom TYPE REF TO cl_gui_container,
go_grid1 TYPE REF TO cl_gui_alv_grid,
go_grid2 TYPE REF TO cl_gui_alv_grid,
gs_layout TYPE lvc_s_layo.
DATA:
gs_knb1 TYPE knb1,
gt_knb1 TYPE STANDARD TABLE OF knb1,
gt_knvv TYPE STANDARD TABLE OF knvv.
* CLASS lcl_eventhandler DEFINITION
CLASS lcl_eventhandler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING
e_row
e_column
es_row_no
sender.
ENDCLASS. "lcl_eventhandler DEFINITION
* CLASS lcl_eventhandler IMPLEMENTATION
CLASS lcl_eventhandler IMPLEMENTATION.
METHOD handle_double_click.
* define local data
DATA:
ls_knb1 TYPE knb1.
CHECK ( sender = go_grid1 ).
READ TABLE gt_knb1 INTO ls_knb1 INDEX e_row-index.
CHECK ( ls_knb1-kunnr IS NOT INITIAL ).
CALL METHOD go_grid1->set_current_cell_via_id
EXPORTING
* IS_ROW_ID =
* IS_COLUMN_ID =
is_row_no = es_row_no.
* Triggers PAI of the dynpro with the specified ok-code
** CALL METHOD cl_gui_cfw=>set_new_ok_code( 'DETAIL' ). " not on 4.6c
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = 'DETAIL'
* IMPORTING
* RC =
ENDMETHOD. "handle_double_click
ENDCLASS. "lcl_eventhandler IMPLEMENTATION
PARAMETERS:
p_single RADIOBUTTON GROUP radi, " single screen
p_double RADIOBUTTON GROUP radi. " two screens
START-OF-SELECTION.
SELECT * FROM knb1 INTO TABLE gt_knb1
WHERE bukrs = '1000'.
" Add dummy customer without any master sales data
CLEAR: gs_knb1.
gs_knb1-kunnr = 'DUMMY'.
gs_knb1-bukrs = '1000'.
INSERT gs_knb1 INTO gt_knb1 INDEX 1.
* Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=>screen0
ratio = 90
EXCEPTIONS
OTHERS = 6.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF ( p_single = abap_true ).
PERFORM create_splitter_container.
ELSE.
* Create 2nd docking container
CREATE OBJECT go_docking2
EXPORTING
parent = cl_gui_container=>screen0
ratio = 90
EXCEPTIONS
OTHERS = 6.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
IF ( p_single = abap_true ).
* Create ALV grids
CREATE OBJECT go_grid1
EXPORTING
i_parent = go_cell_top
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT go_grid2
EXPORTING
i_parent = go_cell_bottom
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
* Create ALV grids
CREATE OBJECT go_grid1
EXPORTING
i_parent = go_docking
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT go_grid2
EXPORTING
i_parent = go_docking2
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
* Set event handler
SET HANDLER: lcl_eventhandler=>handle_double_click FOR go_grid1.
* Display data
gs_layout-grid_title = 'Customers'.
CALL METHOD go_grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'KNB1'
is_layout = gs_layout
CHANGING
it_outtab = gt_knb1
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
gs_layout-grid_title = 'Customers Details (Sales Areas)'.
CALL METHOD go_grid2->set_table_for_first_display
EXPORTING
i_structure_name = 'KNVV'
is_layout = gs_layout
CHANGING
it_outtab = gt_knvv " empty !!!
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Link the docking container to the target dynpro(s)
gd_repid = syst-repid.
IF ( p_single = abap_true ).
CALL METHOD go_docking->link
EXPORTING
repid = gd_repid
dynnr = '0100'
* CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
CALL METHOD go_docking->link
EXPORTING
repid = gd_repid
dynnr = '0100'
* CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD go_docking2->link
EXPORTING
repid = gd_repid
dynnr = '0200'
* CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
* NOTE: dynpro does not contain any elements
CALL SCREEN '0100'.
* Flow logic of dynpro (does not contain any dynpro elements):
*PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
*PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.
" NOTE: screen '0200' uses same flow logic as '0100'
END-OF-SELECTION.
*& Module STATUS_0100 OUTPUT
* text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'. " contains push button "DETAIL"
* SET TITLEBAR 'xxx'.
* Refresh display of detail ALV list
CALL METHOD go_grid2->refresh_table_display
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
EXCEPTIONS
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.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
MODULE user_command_0100 INPUT.
CASE gd_okcode.
WHEN 'BACK' OR
'EXIT' OR
'CANC'.
IF ( syst-dynnr = '0100' ).
SET SCREEN 0. LEAVE SCREEN.
ELSE.
SET SCREEN 100.
ENDIF.
* User has pushed button "Display Details"
WHEN 'DETAIL'.
PERFORM entry_show_details.
IF ( p_single = abap_true ).
ELSE.
SET SCREEN 200.
ENDIF.
WHEN OTHERS.
ENDCASE.
CLEAR: gd_okcode.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form ENTRY_SHOW_DETAILS
* text
* --> p1 text
* <-- p2 text
FORM entry_show_details .
* define local data
DATA:
ld_row TYPE i,
ls_knb1 TYPE knb1.
CALL METHOD go_grid1->get_current_cell
IMPORTING
e_row = ld_row.
READ TABLE gt_knb1 INTO ls_knb1 INDEX ld_row.
CHECK ( syst-subrc = 0 ).
SELECT * FROM knvv INTO TABLE gt_knvv
WHERE kunnr = ls_knb1-kunnr.
ENDFORM. " ENTRY_SHOW_DETAILS
*& Form CREATE_SPLITTER_CONTAINER
* text
* --> p1 text
* <-- p2 text
FORM create_splitter_container .
* Create splitter container
CREATE OBJECT go_splitter
EXPORTING
parent = go_docking
rows = 2
columns = 1
* NO_AUTODEF_PROGID_DYNNR =
* NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Get cell container
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = go_cell_top.
CALL METHOD go_splitter->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = go_cell_bottom.
ENDFORM. " CREATE_SPLITTER_CONTAINER
Regards
Uwe -
Boolean button changes color briefly when pressed
Hi, I am using Boolean button as a toggle, so I only want text changes when it is pressed with no changes to button appearance.
I am able to change the color for On in properties to match the Off color (I am using the Silver palette so normally On is yellow), however when the boolean button is changes to On, there's a brief changes of color still. Is there any way I can get rid of it?
In fact some of my buttons blink black while others blink yellow. I have no idea where that is set.
Thak you very much.
Solved!
Go to Solution.There are 4 colors for booleans ON and OFF plus going from ON to OFF and going from OFF to ON
You only see the transition color when you have the Mech latching set to "latch when released"
Set it to "Latch when pressed" and you will not see the transition colors
You can set all 4 colors by using the Colors [4] Property
Colors [4] Property
Short Name: Colors[4]
Requires: Base Development System
Class: Boolean Properties
To Use: Create a property.
Array of up to 4 (Foreground Color, Background Color) pairs, where Foreground Color is the foreground color of the Boolean control and Background Color is the background color of the Boolean control. Color pairs include False, True, True to False, and False to True.
You can set the color of the front panel object by wiring a hexadecimal number with the form RRGGBB or by wiring the color box constant to the property.
This property is similar to the Colors option on the Appearance page of the Boolean Properties dialog box.
If the Boolean control has four (Foreground Color, Background Color) pairs for the four states, this property always returns an array of four (Foreground Color, Background Color) pairs when reading. When writing, you can pass in an array of length 1, 2 or 4. If you pass in only one element, this property uses that element value for all four states. If you pass in two elements, this property uses the first element value for the False and True to False states. Similarly, this property uses the second element for the True and False to True states.
If the Boolean control has only one (Foreground Color, Background Color) pair for all four states, this property returns an array of one (Foreground Color, Background Color) pair when reading, and uses the first array element when writing. You cannot change a Boolean control with one (Foreground Color, Background Color) pair to a Boolean control with multiple (Foreground Color, Background Color) pairs.
This property only uses the True to False and False to True states when you set the Boolean control to latch or switch when released. You can get and set these (Foreground Color, Background Color) pairs even if you do not have the control set to latch or switch when released; they just are not used.
Because this property does not change the data of the Boolean control, you can set it at any time.
You can use the this property for Boolean controls on the Classic, Express, Modern, and Silver palettes. You cannot use this property for Boolean controls on the System palette.
Omar -
How to set when press Tab in column matrix, then it will show a list
Hi
I want to my form exactly as Sales order, so when I press Tab in item No (on sales order) column it will show list of item
So I want to create my own form with matrix, and in the first column I want to set Tab event, so when I press Tab in that column it will shown list of something from database.
how to get an event Tab in column matrix ??
and what object in the list of item form (on sales order) ?? matrix or grid or something else ??
ThanksHi,
Linking a ChooseFromList to the matrix column should give you what you want. Samples of using the ChooseFromList can be found in the SDK HelpCenter and here in the SDN forum. For example:
choosefromlist in the fields of a matrix
Kind Regards,
Owen
P.S. Please note, you have posted this question in the general SAP Business One forum. Your question is more about development so I would recommend you post in the SAP Business One SDK forum rather than here. -
AcroPDF.dll crash systematicaly when pressing TAB in any PDF
I am using the Acrobat ActiveX (AcoPDF.dll) for viewing PDF documents.
When a PDF is displayed, pressing TAB key several times makes the document to scroll to the end of document.
If I press TAB again, then the application crash.
This happens with all PDF.
My application is written in C++, but I did a try with the sample (AcrobatActiveXVB) provided in the SDK (9.1), witthout any modification.
The result is the same.
Does any body has experienced the same ? Is there a way to prevent AcroPDF to crash.
Considering that it happens systematicly, the Reader 9 activex can not be used to display PDF.
By the way, I did a try with the Reader 8 activeX and it worked fine without crash.
Thanks for your help.It is a problem of Adobe Reader 9 and Adobe Acrobat 9. Read this:
http://forums.adobe.com/thread/530591?tstart=0 -
LOV is not populating when pressing tab in OAF with common value
Hi,
How to make the LOV gets populated after entering any value and press the tab button.
For ex: If i enter item number "100012" and press tab then the LOV is displaying the values and item description is auto-populated.
In my case there are two values with '100012'..once i enter this value and press tab it says Loading, but no options comes up. “Loading” just goes away. But when i clicked on lov icon am seeing the values...
I checked disable validation is not set to true, it has been set to false.
Pls give me any suggestions.
Regards
--HarryHi Naren,
Sorry for late response...am sick actually....
yes, In my case there are two item numbers '100012', with different vales(in lov region teble).
Regards
--Harry -
Populate LOV when pressing tab in OAF
Hi,
I have created LOV for a field which is under a Region.
The LOV works when clicking on the Torch and then click GO.
How to make the LOV gets populated after entering a text and press the tab button.
For ex: If i enter +"Sup"+ and press tab then the LOV must list all the values starting with the name Sup.
Please advice,
Thanks in Advance.
JeganHi Jegan,
If i am clearly getting your requirement then this is the default property of LOV. when you enter some value and TAB out it will execute your LOV Query.
Regards,
Gyan -
I want to tab through a form in firefox from left to right. When I tab it tabs down. I am on a Max OS X. When I use Safari it works from left to right.
See http://kb.mozillazine.org/accessibility.tabfocus
Note: In OS X (as of 2005-01), if this preference is not explicitly set, the “Full Keyboard Access” setting in System Preferences will be honored. All builds before that date (e.g., Firefox 1.0.x) will ignore that setting.
This pref doesn't exist by default, so if you want to use it instead of the system settings then you need to create a new Integer pref with the name accessibility.tabfocus and set the value to what you want (7 is to tab through all the fields).
See also http://kb.mozillazine.org/about%3Aconfig -
How to use selected row on another tab ?
Hi,
I created a table with a number of rows, containing a objectid and other stuff.
When I select 1 or more rows and click a button,
my application is doing his thing,
and finally I got a message that all went fine.
When I select another tab in that same page,
I want to display the previously selected object id's.
I created a getter and setter in my backingbean for these id's.
When I print them on the first tab, they are available,
but when I click the other tab, they dissapear....
Anyone who can help me how to do this ?
So I need to set a String in 1 tab, and display it after I changed to another tab.
Thanks.Hi,
I'm not using a VO.
I have in memory an array of selected id's.
They should be printed on another tab , but when I click that tab, they are empty.
If I display them on the same tab, they get filled out after I clicked the button.
But navigating away from that tab clears the contents.
Maybe some code could help :
in my backingbean_method :
RowKeySet rks = graph_table.getSelectedRowKeys(); => graph_table is the table using a VO and displaying some rows. (binding)
while(itr.hasNext())
key = itr.next();
graph_table.setRowKey(key);
Object o = graph_table.getRowData();
JUCtrlHierNodeBinding rowData = (JUCtrlHierNodeBinding) o;
Row row = rowData.getRow();
objectid[i] = row.getAttribute("Objectid").toString(); => array of objectid[] contains all selected objectids I want to display in another tab.
title = objectid[0]; => just to try one
i++;
I added a getter and setter method for title in the backing bean.
In my JSPX page, I use : #{FNI_backing_bean.title} -
Problem creating a new row when using tabbed regions
I am new to JHeadstart and ADF and have been using the evaluation version of JHeadstart (in JDev 11.1.1.3) to judge its efficacy for a new significantly-sized application. As part of that evaluation I have created a small application (you can do this with HR schema using say the Departments table) with a single entity and VO. On JHeadstart I have then placed some of the fields into multiple Item regions within a Tabbed region on the same page and below the Group (layout style Table, Table Overflow Style below With Splitter). Existing rows display fine and I can view the data on the separate tabs.
However, if I try to create a row, I can fill in the data on the main region, but if I fill in data on the first tabbed region I cannot switch to the next tab without an error being generated.
e.g. using Departments - fill in DepartmentId and DepartmentName on main region, fill in ManagerId on first tabbed region and try to switch to second tabbed region to fill in LocationId:
Missing mandatory attributes for a row with key null of type HRModule.DepartmentsView1
Attribute DepartmentId in HRModule.DepartmentsView1 is required.
Attribute DepartmentName in HRModule.DepartmentsView1 is required.
If you save, then you can navigate.
You can also demonstrate something similar (different error message but probably the same root cause) on the myJHSTutorial demo. If you navigate to an employee off the regions page and try and create a new employee (using the '+' button below the 'Employees' label), then the tabs are not refreshed and any attempt to change the tabs results in an error
Failed to validate a row with key oracle.jbo.Key[999 ] in HRModule.EmployeesView3
Attribute Salary in HRModule.EmployeesView3 is required.
Salary must be between 6000 and 12000 for this job.
The JHS devguide does not help. Any thoughts? I can send the HR sample if you wish.OK, I was able to reproduce this. The problem is that when you switch tabs, a partial page request is send to the server which does not include the items filled in the table row itself, hence these items are not updated in the underlying view object row.
Solution is to have a partial trigger at the table or group level listening to tab events. We will add that to the next release, but you can also apply the fix yourself by adding the following lines to the stackedRegionContainer.vm template:
#if (${JHS.current.pageComponent.tableLayout} && !(${JHS.current.pageComponent.hasOverflowInline}))
## when creating a new row in a table, and using overflow right/below, when switching overflow tabs
## the items filled in the table itself must also be processed as part of JSF model update phase, to
## prevent required item error when clicking another tab in overflow area
## we can enforce this by making the whole group listen to tab events
#ADD_CUR_GROUP_PARTIAL_TRIGGER("#REGION_ID()Tabs")
#end
Add these lines just before the line starting with
<af:${elemName}
Steven Davelaar,
JHeadstart team. -
HTTP-404 Not Found when pressing tab
Hi All,
I have three tabs namely Search,Create,Report
1. When i press the "Create" tab it goes to the corresponding page, but after that
when i press the other two tabs it is displaying an error
HTTP-404 Not Found.
in FF the error is
The requested URL /pls/htmldb/wwv_flow.accept was not found on this server.
Oracle-HTTP-Server/1.3.28 Server at APEX3 Port 80
2. This error is displayed,
after pressing "Create" tab, when i try to press other tags.
3. but,First if i press any of the other two tabs, it is working fine
Does any one exp. this kind of problem? All solutions appreciated.
Thanks in advance
bye
SrikaviHi Dimitri,
I found out the error.
I have a text field P7_TANKAGE and in the Post Element Text
I entered.
<span style="color:#ff0000;font-size:12px;"> <select id="unit1" onchange="YrthruputUnit();" tabindex="14.5">
<option> -S-</option>
<option value="ml"> ml</option>
<option value="kg"> kg </option>
<option value="ton"> ton </option>
<option value="ltrs"> ltrs </option>
</select> Units
</span>
This was working fine for that page but when i tried to move the tab or click the create button it was giving the error.
When i removed that code from Post Element Text
It works fine.
one question: Is it not possible to write the code like that in apex?
bye
Srikavi -
Master/detail and problem with selected row when errors on detail row
I'm using JDeveloper 10.1.3.3
I have a very simple master/detail screen (JSF JSP) where master is departments and detail is employees in the selected department. Some of the attributes in employees are required.
To department A
I take away the value of one of the required attributes of one of the detail employee rows.
Select one of the other departments ie department B
Get Error message Value required.
So far so good, but the selected department is B and the detail rows shown is for department A.
I expected that department A to still be selected or that department B with its row to be shown.
Edited by: user628847 on 26.feb.2009 04:55Hi,
if (row != null)
Row masterRow = row;
vo.setCurrentRow(masterRow);
// not needed : getMesReponsesPourTiersVO1().executeQuery();
You shouldnot execute the child VO after setting current row in master VO.
When the current row is set in master VO, then the child rows will get refreshed automatically.
Cheers,
Prasanna -
Inserting Spaces into code when pressing tab
When I press the tab key, DW inserts a tab character in the
code. I'd like to replace that behavior with it inserting spaces.
DW catches when you don't add a trailing slash on certain HTML tags
in XHTML, so is there a way to hook into that system and have it
catch when you type a tab in?
The code formatting preferences only apply to when DW
auto-inserts tabs, not manually pressing the tab key.Go to Edit>Preferences>Code Format and ensure that the
first setting is as follows:
index (box checked) with "2" spaces (not tabs)
Maybe you are looking for
-
How can I Loose the Heat or Fan Control in G4 Tower?
I have a G4 FW 800 Tower that is running hotter with 10.5.x and knowing that heat kills hardware, I'd like to use the existing internal fans that do a great job when they fire up, to cool it down as I have seen them do. I have a temperature monitor a
-
D-Link Dir-615 internet problems
Hi All, I am not posting this for help. I came across a problem and could not find any help on the net that would solve it. So this is to help anyone whom might have similar problems. First, let me give you the scenario. I have SBC DSL as my ISP and
-
Second hand ipad locked to unknown previous owner
hi,i bought a second hand ipad 4,but it is locked with the previous unknown users id,is there anyway of resetting the ipad back to factory settings.many thanks
-
On my hard drive, I put all my images in the My Pictures folder. Under that is a folder called Digital Photos and in that folder are folders by year. Within each year folder, each shoot is labeled as such: 01-27-08 Flowers, etc. I can not figure how
-
Hi, How to develop a module pool program which will create, change and display monthly fixed prices for a product. Tell me the step-by-step procedure. Bye...