# Online Help for the ADF UIX Business Components Sample Application

### What does this sample show?

The goal of this sample application is to demonstrate how easy it is to create an ADF application which presents a scrollable and sortable Department and Employee application using ADF Business Components. This sample also illustrates different types of navigation model where in one case you use radio buttons to select your record and a button to navigate to a drill down form. The second sample illustrates how this can be done with a link in the page and also how you can use a link to set the mailto attribute to a data bound source. The last part of the sample is demonstrating a Master Detail page that with partial page rendering allows you to select a record in the Master section which wll automatically refresh the detail portion of the page (without refreshing the entire page).

### Why is this important?

ADF UIX is designed with one major thought in mind - make you as a developer more productive and help yor with themosty common requirement such as partial page rendering, sorting & scrolling records, tight integration with the Struts, and support for multiple agents e.g. Internet Explorer, Netscape, Firefox etc... s and with in a declarative way with very limited coding (no coding in this sample).

### How was this sample built?

This sample was built using ADF technologies - ADF UIX, which is the view portion, ADF Model which is the middle-tier business model, ADF Business Components which are the samples business services, and finally Struts which handles the controller portion. This sample is based on the table Employees and Departments from the HR Demo schema. From these tables, basic ADF Business Components have been created to provide the model. This sample will use two collections of data (Business Components View Objects) EmployeesView and DepartmenttView.

### Preparation

This sample is based off two projects - View & Model. The View project contains the view portion of the appliction built with ADF UIX, and the Model project contains our business logic that is built using ADF Business Components.

### The Model

The sample is focusing on how to build the View portion, but this section will give you an high overview of the model layer and what it contains. This sample is based on the table Employees and Departments from the HR Demo schema. From these tables, basic ADF Business Components have been created to provide the model. This sample will use two collections of data (Business Components View Objects) EmployeesView and DepartmentsView.

### The View

The view is comprised of five ADF UIX XML pages - index.uix, dept.uix, emp.uix, empLink.uix, and empForm.uix. The view also contains our Struts controller which handles the sample applications page flow.

index.uix - This is the start page and contains two links, one link that launches a single page containing both Master and Detail information, and the other link launches an appliction with Master and Detail information split on multiple pages.

MasterDetailDP .uix - This is a page containing both Master and Detail information. This page illustrates how partial page rendering can be used to only refresh a portion of a page and not the entire page when you change a selection.

DeptDP.uix - This is the Master page for the sample that has master and detail information split over multiple pages.

empDP.uix - This is one of the detail pages for the dept.uix page. This page is demonstrating how you can use the by default generated radio buttons to select a record and then use a button to open a form to edit the record.

empLinkDP.uix - This is basically the same page as the emp.uix page, but with one major difference - it is using links to select a record and re-direct to a form to edit the record. This sample page also contains a link for email addresses for the employees.

EmpFormDP.uix - This is the edit form that the other pages are re-directing to. One of the nice things with UIX is that the design time recognize the data type and adjust the component that will be used for that attribute accordingly. In this page you have a date field that has a built-in calendar that you otherwise had to create manually.