Skip to main content
Last updated January 07, 2014 07:50, by steven.davelaar
<h2>ADF Samples from ADF Code Corner (Frank Nimphius)</h2> [[ADFSamples | Main Table of Contents]] {| border="0" |- | <image src=""/> | [ LinkedIn]<br/> Blog: [ Code Corner - OTN Harvest Blog]<br/> Twitter: [ @adfcodecorner] |} {| border="1" |- | <span id="ABA2681"/>[[#ABA2681|ABA2681]] | [ ADF 12c New Feature - Unauthorized Task Flow1] {] 24-JUL-2013 [ [[image:info.png]]] |- | <span id="ACC112"/>[[#ACC112|ACC112]] | [ Edit Form Cancel Pattern] {] 26-APR-2013 [ [[image:info.png]]] |- |||A common user interaction with an edit form is to cancel data changes so the original data are reset and displayed. With ADF Mobile and the POJO data control this interaction can be challenging because unlike ADF web forms, there is no immediate=true one can set to bypass the model update and so all data changes are submitted even if it’s the cancel button that was pressed. This article explains a pattern that implements the cancel functionality by working with a copy of the original data instead of the data itself. |- | <span id="ACC111"/>[[#ACC111|ACC111]] | [ m05. Caching WS queried data local for create, read, update with refresh from DB and offline capabilities] {] 25-APR-2013 [ [[image:info.png]]] |- |||The current version of ADF Mobile supports three ADF data controls: Web Service, REST Service and POJO. When working with the WS and REST data control it is recommended practices to access the service throuh the WS and REST data control but to expose the data through the POJO data control to the UI. The advantage of such an architecture is better control for filtering and manipulating WS queried data, as well as a better performance when working with data on the mobile device. In this article I explain how you query data from a SOAP Web Service, how you save the data in on device local entities and how to write local data back to the WS. In the provided sample, you find hookpoint to change for using a local SQLite database instead of an object cache for persistence. |- | <span id="ACC110"/>[[#ACC110|ACC110]] | [ m06. How-to synchronize two input fields bound to a managed bean] {] 16-APR-2013 [ [[image:info.png]]] |- |||ADF Mobile does not provide partial refresh properties for dependent fields to refresh and instead uses a JavaBean property change notification mechanism. This article shows the most simplistic "non-hello-world" sample and demonstrates the steps you need to perform to create a form that contains two input fields bound to a managed bean. Changing the value of one field will copy the same to the second field and refresh the screen so the copied string displays properly. |- | <span id="ACC109"/>[[#ACC109|ACC109]] | [ How-to display server side images in a gallery on the mobile phone] {] 12-APR-2013 [ [[image:info.png]]] |- |||Displaying images as thumb-nails to then query the full size image upon user selection not only is a requirement for ADF Mobile applications, but ADF web applications as well. In this article I explain how you can use a Web Service to browse and search server side images to display as thumb nails on a tablet or mobile device |- | <span id="ACC104"/>[[#ACC104|ACC104]] | [ How-to enforce LOV Query Filtering] {] 20-MAR-2013 [ [[image:info.png]]] |- |||A question on OTN was about how-to restrict queries in a LOV dialog to avoid unfiltered and expensive queries. For this at least one of the LOV query fields must be provided with a value. This article explains how the above requirement can be implemented declaratively with the help of a view criteria |- | <span id="ACC105"/>[[#ACC105|ACC105]] | [ Drag-and-drop reordering of table rows] {] 19-MAR-2013 [ [[image:info.png]]] |- |||A requirement drequently posted on the JDeveloper and ADF forum on OTN is to reorder rows exposed in an ADF table. Though you cannot change the order in which existing data is stored in database tables, you can use drag and drop within a table to change the order of displayed rows. A use case for this requirement is to easily compare two rows in a table |- | <span id="ACC108"/>[[#ACC108|ACC108]] | [ ADF Mobile: Creating dependent lists from independent collections] {] 11-MAR-2013 [ [[image:info.png]]] |- |||Dependent lists is a common functional requirement for web, desktop and also mobile applications. You can build dependent lists from dependent, nested, collections and from independent collections, in which the detail data is queried from a method call. With step-by-step instructions, this article explains the latter use case in which a selected parent data object is passed to a method to query the detail data set. |- | <span id="ACC107"/>[[#ACC107|ACC107]] | [ ADF Mobile: How-to dynamically show-hide mobile UI components] {] 04-MAR-2013 [ [[image:info.png]]] |- |||A requirement in software development is to conditionally enable/disable or show/hide UI components. Usually, to accomplish this, you dynamically look-up a UI component to change its visibility state. In ADF Mobile v 1.0 however there is no such component look up and the requirement thus needs to be implemented differently. |- | <span id="ACC106"/>[[#ACC106|ACC106]] | [ ADF Mobile: Imageupload to Server] {] 13-FEB-2013 [ [[image:info.png]]] |- |||ADF Mobile is a framework for ADF developers to build on-device mobile applications for the Android and Apple iOS platform. Because applications are deployed to the native device, native device features like camera can be integrated in ADF applications. A common question about ADF Mobile is how to upload pictures taken with the device camera or chosen from an album to the srever using web Services. In this article I provide asample for the above mentioned use case and explain how it works |- | <span id="ACC103"/>[[#ACC103|ACC103]] | [ How-to edit an ADF form with data dragged from an ADF Faces table] {] 22-AUG-2012 [ [[image:info.png]]] |- |||In this article I explain how to drag and drop a row from an ADF Faces table on top of an input form to copy data into the form. |- | <span id="ACC102"/>[[#ACC102|ACC102]] | [ How to dynamically enable or disable list items of an ADF bound select many checkbox component] {] 26-JUN-2012 [ [[image:info.png]]] |- |||Sample shows how to dynamically enable or disable list items in an ADF bound list component by example of a select many checkbox |- | <span id="ACC101"/>[[#ACC101|ACC101]] | [ How-to drag-and-drop data from an af:table to af:tree] {] 13-JUN-2012 [ [[image:info.png]]] |- | <span id="ACC100"/>[[#ACC100|ACC100]] | [ How-to undo table row selection in case of custom validation failure] {11.1.1.x] 22-MAR-2012 [ [[image:info.png]]] |- | <span id="ACC099"/>[[#ACC099|ACC099]] | [ Multi Table Row Selection for Deferred Delete] {11.1.1.x] 02-MAR-2012 [ [[image:info.png]]] |- | <span id="ACC098"/>[[#ACC098|ACC098]] | [ How-to use multi select components in table filters] {] 28-FEB-2012 [ [[image:info.png]]] |- | <span id="ACC095"/>[[#ACC095|ACC095]] | [ How-to Navigate to Printable Pages] {11.1.1.x] 26-JAN-2012 [ [[image:info.png]]] |- | <span id="ACC094"/>[[#ACC094|ACC094]] | [ ADF Region Return Value Strategy] {11.1.1.x] 12-JAN-2012 [ [[image:info.png]]] |- | <span id="ACC093"/>[[#ACC093|ACC093]] | [ Put a different Look to your Train Stops] {11.1.1.x] 13-DEC-2011 [ [[image:info.png]]] |- | <span id="ACC092"/>[[#ACC092|ACC092]] | [ ADF Web Service results for in-memory filtering] {11.1.1.x] 31-OCT-2011 [ [[image:info.png]]] |- | <span id="ACC090"/>[[#ACC090|ACC090]] | [ How-to filter ADF bound lists] {11.1.1.x] 30-OCT-2011 [ [[image:info.png]]] |- | <span id="ACC091"/>[[#ACC091|ACC091]] | [ How-to create new lookup data from a list of values select list] {11.1.1.x] 04-OCT-2011 [ [[image:info.png]]] |- | <span id="ACC087"/>[[#ACC087|ACC087]] | [ How-to improve LOV performance with shared AM in ADF BC ] {11.1.1.x] 29-JUL-2011 [ [[image:info.png]]] |- | <span id="ACC085"/>[[#ACC085|ACC085]] | [ af:query component complex field validation] {11.1.1.x] 06-JUL-2011 [ [[image:info.png]]] |- | <span id="ACC084"/>[[#ACC084|ACC084]] | [ Dynamically show or hide af:treeTable columns dependent on the disclosed node] {11.1.1.x] 30-JUN-2011 [ [[image:info.png]]] |- | <span id="ACC083"/>[[#ACC083|ACC083]] | [ How-to create bi-directional synchronization between a tree and an input form component] {11.1.1.x] 23-MAY-2011 [ [[image:info.png]]] |- | <span id="ACC082"/>[[#ACC082|ACC082]] | [ How-to programmatically navigate ADF train models] {11.1.1.x] 10-MAY-2011 [ [[image:info.png]]] |- | <span id="ACC081"/>[[#ACC081|ACC081]] | [ How-to create master-detail behavior using af:panelTabbed and DVT graph components] {11.1.1.x] 01-MAY-2011 [ [[image:info.png]]] |- | <span id="ACC079"/>[[#ACC079|ACC079]] | [ Strategy for implementing global buttons in a page template] {11.1.1.x] 13-APR-2011 [ [[image:info.png]]] |- | <span id="ACC078"/>[[#ACC078|ACC078]] | [ How-to programmatically expand trees and tree table components upon initial rendering and later] {11.1.1.x] 06-APR-2011 [ [[image:info.png]]] |- | <span id="ACC077"/>[[#ACC077|ACC077]] | [ Handling the af:dialog Ok and CANCEL buttons] {11.1.1.x] 29-MAR-2011 [ [[image:info.png]]] |- | <span id="ACC076"/>[[#ACC076|ACC076]] | [ Extending ADF Security to check ADF BC Entity attribute insert permissions] {11.1.1.x] 08-MAR-2011 [ [[image:info.png]]] |- | <span id="ACC075"/>[[#ACC075|ACC075]] | [ How-to select multiple parent table rows and synchronize a detail table with the combined result ] {11.1.1.x] 28-FEB-2011 [ [[image:info.png]]] |- | <span id="ACC097"/>[[#ACC097|ACC097]] | [ How-to defer train-stop navigation e.g. for custom form validation ] {11.1.1.x] 21-FEB-2011 [ [[image:info.png]]] |- | <span id="ACC074"/>[[#ACC074|ACC074]] | [ Hands-on: How to use the ADF URL Data Control for parametrized queries] {11.1.1.x] 21-FEB-2011 [ [[image:info.png]]] |- | <span id="ACC073"/>[[#ACC073|ACC073]] | [ Hands on - Creating a search form using a POJO WS and the Web Service Data Control] {11.1.1.x] 18-FEB-2011 [ [[image:info.png]]] |- | <span id="ACC072"/>[[#ACC072|ACC072]] | [ Hands-on & How-to: ADF application with EJB WS, WS proxy client and POJO Data Control] {11.1.1.x] 17-FEB-2011 [ [[image:info.png]]] |- | <span id="ACC070"/>[[#ACC070|ACC070]] | [ How-to build ADF dependent list boxes with Web Services] {11.1.1.x] 21-JAN-2011 [ [[image:info.png]]] |- | <span id="ACC069"/>[[#ACC069|ACC069]] | [ How-to create a custom LOV using bounded task flows ] {11.1.1.x] 18-JAN-2011 [ [[image:info.png]]] |- | <span id="ACC068"/>[[#ACC068|ACC068]] | [ How-to solve the known range change event problem in ADF contextual events ] {11.1.1.x] 16-JAN-2011 [ [[image:info.png]]] |- | <span id="ACC067"/>[[#ACC067|ACC067]] | [ How-to create a query form in a popup dialog ] {11.1.1.x] 11-JAN-2011 [ [[image:info.png]]] |- | <span id="ACC065"/>[[#ACC065|ACC065]] | [ Active Data Service Sample - Twitter Client] {11.1.1.x] 01-DEC-2010 [ [[image:info.png]]] |- | <span id="ACC064"/>[[#ACC064|ACC064]] | [ How-to implement a Select Many Shuttle with pre- selected values] {11.1.1.x] 23-NOV-2010 [ [[image:info.png]]] |- | <span id="ACC066"/>[[#ACC066|ACC066]] | [ How-to color-highlight the bar in a graph that represents the current row in a collection ] {11.1.1.x] 15-NOV-2010 [ [[image:info.png]]] |- | <span id="ACC063"/>[[#ACC063|ACC063]] | [ How-to save - "print" - DVT graphs to a file] {11.1.1.x] 25-OCT-2010 [ [[image:info.png]]] |- | <span id="ACC062"/>[[#ACC062|ACC062]] | [ How-to use the af:autoSuggestBehavior component tag with ADF bound data sources] {11.1.1.x] 19-OCT-2010 [ [[image:info.png]]] |- | <span id="ACC061"/>[[#ACC061|ACC061]] | [ How-to text search in a rendered ADF bound tree] {11.1.1.x] 14-OCT-2010 [ [[image:info.png]]] |- | <span id="ACC060"/>[[#ACC060|ACC060]] | [ How-to implement drag and drop for an ADF Faces table] {11.1.1.x] 11-OCT-2010 [ [[image:info.png]]] |- | <span id="ACC059"/>[[#ACC059|ACC059]] | [ How-to filter ADF bound tables by date range] {] 06-OCT-2010 [ [[image:info.png]]] |- | <span id="ACC058"/>[[#ACC058|ACC058]] | [ How-to use the optimized component search in Oracle ADF Faces ] {11.1.1.x] 30-SEP-2010 [ [[image:info.png]]] |- | <span id="ACC057"/>[[#ACC057|ACC057]] | [ How to build master-detail behavior with DVT component master] {11.1.1.x] 16-SEP-2010 [ [[image:info.png]]] |- | <span id="ACC056"/>[[#ACC056|ACC056]] | [ How-to handle and respond to mouse double clicks in ADF Faces tables] {11.1.1.x] 09-SEP-2010 [ [[image:info.png]]] |- | <span id="ACC055"/>[[#ACC055|ACC055]] | [ How-to build a single select component with images in select items ] {11.1.1.x] 03-SEP-2010 [ [[image:info.png]]] |- | <span id="ACC021"/>[[#ACC021|ACC021]] | [ How-to initially expand tree nodes in ADF bound tree & tree table] {11.1.1.x] 23-AUG-2010 [ [[image:info.png]]] |- | <span id="ACC016"/>[[#ACC016|ACC016]] | [ How-to customize the ADF Faces Table Filter] {11.1.1.x] 03-AUG-2010 [ [[image:info.png]]] |- | <span id="ACC027"/>[[#ACC027|ACC027]] | [ Showing a glasspane and splash screen for long running queries] {11.1.1.x] 30-JUL-2010 [ [[image:info.png]]] |- | <span id="ACC043"/>[[#ACC043|ACC043]] | [ Integrate remote task flows in your ADF applications (POJO DC Example)] {11.1.1.x] 13-JUL-2010 [ [[image:info.png]]] |- | <span id="ACC038"/>[[#ACC038|ACC038]] | [ How-to build an editable tree with the POJO Data Control] {11.1.1.x] 28-JUN-2010 [ [[image:info.png]]] |- | <span id="ACC031"/>[[#ACC031|ACC031]] | [ Metadata Services (MDS) Example: Power User vs. Normal User] {11.1.1.x] 21-JUN-2010 [ [[image:info.png]]] |- | <span id="ACC054"/>[[#ACC054|ACC054]] | [ Search form using ADF WS Data Control and Complex input types] {11.1.1.x] 18-JUN-2010 [ [[image:info.png]]] |- | <span id="ACC012"/>[[#ACC012|ACC012]] | [ How-to copy/paste the value of a table cell to other - selected - table rows] {11.1.1.x] 01-JUN-2010 [ [[image:info.png]]] |- | <span id="ACC048"/>[[#ACC048|ACC048]] | [ XML Menu Model site menus protected with ADF Security and JAAS] {11.1.1.x] 13-MAY-2010 [ [[image:info.png]]] |- | <span id="ACC032"/>[[#ACC032|ACC032]] | [ Creating a tree table from a single View Object and access selected rows] {11.1.1.x] 05-MAY-2010 [ [[image:info.png]]] |- | <span id="ACC042"/>[[#ACC042|ACC042]] | [ Dynamically change the progress bar color according to its current value] {11.1.1.x] 03-MAY-2010 [ [[image:info.png]]] |- | <span id="ACC050"/>[[#ACC050|ACC050]] | [ How-to create and synchronize edit forms for tree node entries] {11.1.1.x] 29-MAR-2010 [ [[image:info.png]]] |- | <span id="ACC037"/>[[#ACC037|ACC037]] | [ How-to build pagination into ADF POJO Data Control] {11.1.1.x] 23-MAR-2010 [ [[image:info.png]]] |- | <span id="ACC023"/>[[#ACC023|ACC023]] | [ How-to build a Generic Selection Listener for ADF bound Tables] {11.1.1.x] 17-MAR-2010 [ [[image:info.png]]] |- | <span id="ACC017"/>[[#ACC017|ACC017]] | [ How-to invoke contextual events from a DVT graph component] {11.1.1.x] 11-MAR-2010 [ [[image:info.png]]] |- | <span id="ACC040"/>[[#ACC040|ACC040]] | [ Partial form submit using af:subform and ADF] {11.1.1.x] 01-MAR-2010 [ [[image:info.png]]] |- | <span id="ACC033"/>[[#ACC033|ACC033]] | [ How-to open a Bounded Task Flow in a new Browser Tab] {11.1.1.x] 25-FEB-2010 [ [[image:info.png]]] |- | <span id="ACC052"/>[[#ACC052|ACC052]] | [ How-to deploy bounded task flows in an ADF library] {11.1.1.x] 16-FEB-2010 [ [[image:info.png]]] |- | <span id="ACC028"/>[[#ACC028|ACC028]] | [ How-to scroll an ADF bound ADF Faces Table using a Keyboard Shortcut] {11.1.1.x] 08-JAN-2010 [ [[image:info.png]]] |- | <span id="ACC051"/>[[#ACC051|ACC051]] | [ How-to scroll ADF tables using an alphabetic index menu] {11.1.1.x] 06-JAN-2010 [ [[image:info.png]]] |- | <span id="ACC039"/>[[#ACC039|ACC039]] | [ How-to declaratively launch a bounded task flow in a lightweight popup] {11.1.1.x] 17-NOV-2009 [ [[image:info.png]]] |- | <span id="ACC008"/>[[#ACC008|ACC008]] | [ How-to use Captcha with ADF Faces and Oracle ADF] {11.1.1.x] 17-JUL-2009 [ [[image:info.png]]] |- | <span id="ACC006"/>[[#ACC006|ACC006]] | [ How to cancel an edit form, undoing changes in Java] {11.1.1.x] 23-DEC-2008 [ [[image:info.png]]] |- | <span id="ACC014"/>[[#ACC014|ACC014]] | [ Custom JAAS Permissions in a ADF Security to implement UI security (no sample app available)] {11.1.1.x] 15-NOV-2008 [ [[image:info.png]]] |- | <span id="ACC010"/>[[#ACC010|ACC010]] | [ How-to create a character input counter for text fields] {11.1.1.x] 15-SEP-2008 [ [[image:info.png]]] |- | <span id="ACC001"/>[[#ACC001|ACC001]] | [ Accessing attributes of declarative component] {11.1.1.x] 26-JUN-2008 [ [[image:info.png]]] |- | <span id="ACC036"/>[[#ACC036|ACC036]] | [ Setting control hints on POJO entities using the ADF Bean DataControl] {11.1.1.x] 25-JUN-2008 [ [[image:info.png]]] |- | <span id="ACC011"/>[[#ACC011|ACC011]] | [ ADF Faces RC - How-to use the Client and Server Listener Component] {11.1.1.x] 14-JUN-2008 [ [[image:info.png]]] |- | <span id="ACC047"/>[[#ACC047|ACC047]] | [ How-to build a select one choice displaying hierarchical selection data] {11.1.1.x] 06-JUN-2008 [ [[image:info.png]]] |- | <span id="ACC004"/>[[#ACC004|ACC004]] | [ Auto suggest with JavaScript in ADF Faces] {11.1.1.x] 01-JUN-2008 [ [[image:info.png]]] |- | <span id="ACC053"/>[[#ACC053|ACC053]] | [ Refresh a bounded task flow displayed as an ADF Region in a popup] {11.1.1.x] 29-MAY-2008 [ [[image:info.png]]] |- | <span id="ACC005"/>[[#ACC005|ACC005]] | [ How-to bind custom declarative components to ADF] {11.1.1.x] 26-MAY-2008 [ [[image:info.png]]] |- | <span id="ACC015"/>[[#ACC015|ACC015]] | [ How-to configure a custom splash screen in ADF Faces] {11.1.1.x] 07-MAY-2008 [ [[image:info.png]]] |- | <span id="ACC030"/>[[#ACC030|ACC030]] | [ How-to intercept and modify table filter values] {11.1.1.x] 15-APR-2008 [ [[image:info.png]]] |- | <span id="ACC046"/>[[#ACC046|ACC046]] | [ Building a search form that displays the results in a task flow] {11.1.1.x] 03-APR-2008 [ [[image:info.png]]] |}
Please Confirm