• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1802
  • Last Modified:

populate a table with resultset then create a hyperlink in the first cell so that user can click and select row data to populate textfield

Good day to all. Urgent question:

I know how to dynamically populate a table with the results of a database select statement.  The issue is that after I populate the table, I also want to dynamically create a hyperlink in the first cell of each row so that the user can select this hyperlink.  By clicking on the hyperlink, the entire contents of the row will be placed into textfields located above the table so that the user can then make modification to update database.

This is something like the functionality given in a flexgrid where rows can be selected and textfield populated.

Thanks  
0
phaidra
Asked:
phaidra
3 Solutions
 
KuldeepchaturvediCommented:
its more of a javascript function then a jsp...

following script should help..

function selectValue(row,param)
{
 var parms=param.split(',');
 var mycells=row.cells;
 for(i=0;i<parms.length;i++)
 {
       document.getElementById(parms[i]).value=mycells[i].innerText;
 }

& in the table where you are making a link.. put this function..

as onclick=selectValue(this.parentNode,textfield1,textfield2,...);
0
 
w0lverCommented:
I have done it where each link contains a URL with all the items in the table as parameters, i.e.
     edit.jsp?field1=blah&field2=blahblah&field3=yadda


As so on, make sure you concert any of the text into URL friendly strings...

Then in each text box put the value from the URL string in the box:
     <%
     String field1 = "";
     try {
          field1 = request.getParameter("categoryName");
     } catch (NullPointerException npe) {
             field1 = "";
     }
     request.setAttribute("field1", field1);
     %>

Then for each form field:
 <input type="text" size="5" name="field1" value="<c:out value="${field1}"/>">

And you would do you link the same way:
     < a href="edit.jsp?field1=<c:out value="${field1}"/>">Link<a/>

0
 
gotekareddyCommented:
Hi,

Its better to put the Resultset results in a HashMap and put that in request object.

in the page where you want to populate the table with the results you simply iterated the hashmap and for the first colum give and hyperlink and onclick of that call a javascript function.

like :

1) get the Resultset and while iterating the resultset only u put the values in the HashMap with an appropriate key.

2) put that hashmap in the request like
request.setAttribute("Somename",map);

3) get the hashmap from the request. like

HashMap map = request.getAttribute("some name");
String javavariable1 = (String)map.get("somekey1");
String javavariable2 = (String)map.get("somekey2");


4) iterate the hashmap in a table and give the first colum as hyperlink and onclick call a javascript function like :

5) Function a()
{
document.forms[0].fieldname1.value = '<%=javavariable1%>'
document.forms[0].fieldname2.value = '<%=javavariable2%>'
}

thats it,
hope this satisfies ur requirement.. any clarifications send a comment.
cheers.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now