Skip to main content

Posts

Easy scrolling in a table

If you have a backgound in Oracle Forms, you'll really like this post, because you are used to these functions: "key-up, key-down, current-record-visual-attribute", and so on........Especially the arrow keys to scroll a table ! It is possible to implement this in an ADF application. It takes some time to figure out, but it works, at least I'm very close now. Using some of the logic from one of my previous posts I managed to implement "easy scrolling". It take some javascript; 0: make the row current after click. "makeCurrent()". 1: find out the key pressed "checkKey()". 2: do the up or down action "nextRow()" and "previousRow()". 3: make sure you don't loose focus "holdCurrentField()". You'll have to add onclick="makeCurrent()" and onkeydown="checkKey()" to every column in you're table. This will c...

Demo projectfiles available online

Some of you bloggers have been asking for source code of the application. It took me a while to make this available online. One of the reasons is that blogger does not support file upload (other than images). After googling around for a while, I decided to use googlepages. You can find the project files here. For now there's only a draft version of the MyFacesPopup and the PullDownMenu. Navigation is not yet working in this version of the Menu, but I'm sure you'll get it working. In my comming posts I will put direct references to the correct version of the dwonloadable demo's.

Save limited space; use MyFaces popup's

Sometimes I wonder how to put all these visual elements on an already overloaded page. Customers have their needs for functionality, but sometimes just don't know when to say STOP. We need this, we need that ............ I wondered if all this functionality has to be available at any time, and if so, if it should be visible. What if I was able to 'partially hide' elements, and bring them into view only if a user really needs them ? I used one of the Myfaces components. In this case the popup. A Popup will only "popup" at the location where it is defined. It works more or less in a "now you see it, now you don't" way. The functionality in this popup works the way it should. By using the popup, I was able to add functionality to my page, without overloading the page with visual components. Below you see the page. It has (somewhere) functionality to customize the page. If the mouse is over the "Customize Your Application" text, the popup is sh...

Fun: Milleniumbug's are still around

I was sure that back in 1999 I found and coded my last fix for the milleniumbug. Maybe that was true for me, but even today they are around, even in brandnew products. In the new release of google analytics I found one. If you open the extended calendar, they will tell you it's 1907........... 1907 was a great year for wine perhaps, but I dont think there was an internet back then. However, analytics is a very usefull tool for me. And I'm sure they can fix it.

Total Recall.......DBA's go wild !!

Today Oracle launched the 11g database. It's all about the yingyang of requirements and innovations. If I just had the time I would tell you about it, but for now I'll just redirect you. Read the press release here . And read on the new features here . And just for fun............ go here and Watch the July 11 Webcast. It is the only way !!!

What's (on) your menu ?

Imagine a restaurant which serves great food, preferably your own favorite restaurant. Now imagine that this same restaurant, has your own personalized menu. Wouldn't that be great. You could just go there and eat whatever you feel like at that moment. The same goes for the application you build. If you use ADF-Faces and a panelpage with menu facets to show the menu in your application, the framework tells you how your menu works, and almost what it looks like. So this is what my menu looked like. The ADF-faces menu has a couple of annoying features. First of all the size of the Menubar. If you have about 10 menu items (or less but with very long labels) the end users have to scroll to the right to see all items. You would easily miss the menu items on the far right. End users just love the pulldown menu's that they are used to. They use it in OracleForms, they use it in TwoLetterWord Office, and so on. Secondly, the faces-config, in which the menu is configured will load only ...

Sliding into view

A couple of days ago some one asked me if it was possible to bind inline style properties to a backing bean using Expression Language. I knew this was possible so I explained him how to do that. This also was a nice opportunity to try out how an af:inputNumberSlider works. I wanted to use the value of the slider to set the fontsize in the rest of my example application. It worked ! Here's how I did it. First you have to drop the af:inputNumberSlider on your page. You also have to drop an af:outputText on your page. This textfield will contain the displayed text. If you want the page to use the value of the slider immediately, you have to set the autosubmit property of the slider to true. After that, give the slider an id and use this id in the partial triggers property of the inputtext. Finally you have to bind the slider and the outputtext to a backingbean. In this bean you will read the slidervalue and use it to set the size of the text in the outputtext. The source of the bean l...

Whats new ?

Recently this blog was mentioned on ' blogs.oracle.com ' and on Steve Muench's weblog . Thanks Steve ! I guess my weblog is getting more popular by the week ("I Love Google Analytics"). So I want to put some really new stuff here. I also want to post at least once every week..... Here's my challenge ! I want to write on templating, LOV's and other new features, but that takes time. And I'm not just doing stuff for my blog. I'm also working ;-) But I'll see what I can do. First I'll try to isolate some solutions we had to implement in the prvious project. And if there's more time ......

One size fits all.

I've been playing with the Jdeveloper 11G technical preview during this week and it's a lot of fun. The new ADF-Faces contains some very nice sizing components. So from now on you don't have to try every possible size for columns and panels. Just use panelsplitters and adf tables and have your end users try for themselves. Here are some examples that I just created. If the images are too small, just click on them..... Compare the order of the columns in the table below with the order in the table above. You can just drag and drop them runtime. If you use the panelsplitter (click on the arrow) you can hide a pane runtime. Look below..... the menu has disappeared. You can also resize the panels and columns. There is no coding required at all !!! Just drag the borders to the size you want. See here for the panels.... And here for the columns.... Finally the date select isn't a popup window anymore and that's very nice as well. I'll be playing around for the next co...

JDeveloper 11G Technical Preview

Oracle released the JDeveloper 11G Technical Preview. Want to know more on this Tech. Preview , then go to http://www.oracle.com/technology/products/jdev/11/index.html

How to hide the * for required fields

Sometimes it is annoying to see the '*' in front of a required field. If a customer demands the '*' to be removed, you really have a problem ! It seems to be impossible to remove it and a lot of people say that it is..................... But here is your solution. If you put the following line of code in your stylesheet, the '*' will not be displayed ! .xi { display: none; } For outlining everything, you can use the ussual stuff. More to come

Project planning

From september on I've been working hard on a very exiting project. Thats why it has been very quiet on my weblog. However, in this project we found a lot of briljant solutions for common problems.... You can decide to avoid problems... but you can also try to solve them. The latter is what we did. Some solutions will be posted here shortly. I've more time now, so I'll try to post every week from now on. Hint................ Using a Mulitselect listbox to create an in clause in a sql-query And lots more.

Search functionallity (like in oracle forms)

If you tried using the find funcionallity, then you might have noticed that it doesn't work the way it is supposed to. However, we managed to let it work in the same way that it does in Oracle-forms. From scratch works more or less like this. Drop your view object as ADF table on the form. Add the find and execute operations. Drop the same view object on your form but now as ADF search form. Place the fields form the search form in the corresponding columns. For each #{row} field ,and the find button, set the rendered property #{bindings.testUserIterator.findMode ==false}. For each inputfield, and the execute, set the rendered property #{bindings.testUserIterator.findMode ==true}. Now it will work.

Select the current row by just clicking on it (and little coding)

It took us some time to figure out how to select the current row in an ADF table by clicking on it, but in the end the solution is very simple. Give your "af:tableSelectOne" an id property for instance “select_id”. Give all the columns in your table an onClick property for instance: onclick="makeCurrent(this); " Ad javascript to your page with yhe following code: document.getElementById(tr.id.substring(0,tr.id.lastIndexOf(":")+1)+"select_id").checked=true; Try out your page and you'll see it works. Every click on a column in your table will make the current row indead current. What this code does is working around the ADF coding for your table columns; Adf will generate the following id for an item(inputtext1) residing in the second row in your table("tab_1") on your form ("form_1") ..............(notice: zero based index) id="form_1:tab_1:1:inputText1" where ":1:" stands for the current row. You canno...

Sizing buttons

Did you ever wish all your buttons had the same size ? Well, here the solution. If you don't do anything, buttons will be sized based on the label/text that they have. If you apply this code to your skin.css it will be better command.button, input.button, button { width: 90pt; } More solutions to come.......

Back again

After a long hot summer I'm back again. Next couple of weeks there will be a lot off new tips and tricks on this weblog. Some of them derived from other weblogs, some of them I found out myself with some help of my colleages. In short, there will be a lot of funny stuff about JDeveloper and ADF Faces. In the meanwhile feel free to try this at home....... Try to select the current row in an ADF select one Table by clicking in one of the cells.... Try to export your table to a csv or excel whitout coding for a week or two....

Pro JSF and AJAX

The book was relaesed februari 2006 and it took me untill now to find it. "Pro JSF and Ajax: Building Rich Internet Components" by John R. Fallows and Jonas Jacobi`. "The examples are thorough and come with loads of readable code listings. In addition, many complex topics were further clarified with a good use of graphics"

ADF Developer's Guide for Forms/4GL Developers is Ready

I've been reviewing the beta release for Oracle and it is an exciting document. Steve Meunch just announced it on his weblog ( http://radio.weblogs.com/0118231/ ) that the guide is now finished. Quote: "The birth of a "baby" they've been working on for many months, the ADF Developer's Guide for Forms/4GL Developers. You can find links to the HTML Format and PDF Format of this new guide on the new ADF Learning Center on OTN. You will also find the link there to the new step-by-step Oracle ADF Tutorial for Forms/4GL Developers."

Goal of my weblog: JDeveloper for forms developers

On this weblog I will try to give an overview of all the information on JDeveloper that is available on the internet. Especially information concerning Forms developers that are (thinking of) using JDeveloper. The Information gathered all over the internet is assembled here to provide a clear overview. I will try to categorize the info so finding it will be much easier. Form there you can use the provided links to browse to the more detailed info. Later I will publish more on technical solutions and translation issues, meaning mapping your forms skills to JDeveloper.