Skip to main content

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 cannot (or do not want to) refer to this directly because it is an automatically generated number. You do not have any control on it. By substringing the entry and then adding the "select_id" to it, you can make the current row current. Just add .checked="true"

Not much code but a lot of thinking..........

Comments

Anonymous said…
Could you please show me the whole javascript?

thanks...
Luc Bors said…
Hi Jose,I think that this is what you need. If you call makeCurrent(this) than the script has to use 'this'.

document.getElementById(this.id.substring(0,this.id.lastIndexOf(“:”)+1)+”select_id”).checked=true;

Get back to me if this doesn't help you. On monday I can give you the whole code sample.

Good luck.

Popular posts from this blog

ADF 11g popup and panelwindow: Open wikipedia in a modal popup.

This post was more or less inspired by the noteWindow example on Oracles tag demo site. When hovering the highlighted text in this example the user gets extra information about the subject. I wanted to give the end user the opportunity to get even more information, for instance by invoking a wikipedia page about the subject. The catch here is that I wanted this information to be shown in a modal popup, and one that is not prohibited by popup blockers. Luckily ADF 11g provides javascript popups that can also be made modal, so the user has to close the popup before returning to the application. This post describes how I used an in a to open the correct wikipedia in a modal popup. Step 1: Create the plain text that invokes the noteWindow. This is taken directly from the mentioned Oracle example. <p style="margin-left:30px;width:500px;margin-right:30px;line-height:16px"> Vultures are scavenging birds, feeding mostly on the carcasses of dead animals...

ADF 11g : Show PDF in a Popup

In one of my previous posts I showed how to use ADF popup components to display external content such as webpages like wikipedia in an inline frame. Based on this post a colleague of mine tried to display a PDF document. That didn't work. In this post I explain how you can use a servlet to open a PDF document in the inline frame. I will not explain how to invoke popups. If you need to know how to do that, refer to the post mentioned earlier. How to create the servlet ? The solution for showing a PDF in a popup is to use a servlet. It's possible to have a servlet deliver PDF content to the browser by specifying the content type of the servlet response to be the 'application/pdf' MIME type via 'response.setContentType("application/pdf")'. In JDeveloper you can create a HTTP servlet very easy via the new gallery. I decided to call the servlet ShowPdfServlet which actually is a pretty descriptive name for this servlet. For the servlet mapping I accept th...

ADF 11g : Printing Directly From Your Application

Last week I was asked this question : "Can we print directly from within our ADF Application, without invoking the printer dialog ?" I wasn't sure but after some investigation the answer was clear. Yes you can ! Here is how... I decided to create a print start up form where I can select printers and print the document. Most of the functionality needed is provided by the Java Print Service API. Selecting available printers I start with a way to show all printers available to the session. For that I simply use the PrinterServiceLookup. PrintService[] printers = PrintServiceLookup.lookupPrintServices(null, null); The result I can now use to create an Array of SelectItems in order to make the list available in the application. 1: public SelectItem[] getAllPrinters() { 2: if (allPrinters == null) { 3: PrintService[] printers = 4: PrintServiceLookup.lookupPrintServices(null, null); 5: allPrinters = new SelectItem[printers.length]; 6: for (int i = 0; i ...