cancel
Showing results for 
Search instead for 
Did you mean: 

Hyperlink in iGrid Cell?

Former Member
0 Kudos

Hi,

Is it possible to have a hyperlink in a iGrid cell?

Thanks,

Sara

Accepted Solutions (0)

Answers (1)

Answers (1)

jcgood25
Active Contributor
0 Kudos

No, but you can easily enable Cell Selection and leverage the CellSelectionEvent to trigger the screen navigation or popup window.

Regards,

Jeremy

Former Member
0 Kudos

Thanks, Jeremy for your quick response.

I already tried that. But there are following issues with your suggested solution:

1. When we enable Cell Selection, all the cells in the row are enabled for cell slection. We want to have hyperlink functionality only for a certain cells, (not for all the cells in a row).

2. Also, we want to allow row selection. When we have both row and cell selection enabled, it becomes very difficult to differentiate if the click is for a row selection or cell selection. In this case, when we want to select a row, it becomes very difficult, we end up selecting a cell, instead of a row.

Thanks,

Sara

jcgood25
Active Contributor
0 Kudos

Then incorporate html buttons to go along with the row selection now, and when the user selects the button grab the cell you need and do the 'hyperlink' activity, and incorporate other buttons as necessary for other functionality.

Former Member
0 Kudos

But the porblem is I need to implement 2 hyperlinks, one for a each cell in my grid. I need to call the correct target based on the cell, I am clicking.

Thanks,

Sara

jcgood25
Active Contributor
0 Kudos

Button1 = Hyperlink1

Button2 = Hyperlink2

Instead of the user selecting the cell they want, use the html buttons to differentiate and grab the appropriate selectedcellvalue when they press the button.

jcgood25
Active Contributor
0 Kudos

In other words, don't use the iGrid events, just allow the user selection to highlight the row in the grid for visual indication and then they select the button depending upon what they want to do.

Former Member
0 Kudos

Thanks, Jeremy for your suggestions.

I got it. I already did it. I was waiting if I will get a better solution.

But the problem is we don't like it because when we want to name these buttons correctly, it becomes very large like "Get the records for the parent id". I just wanted to avoid it, becuase it makes the GUI not user-friendly. Clicking the hyperlink directly on the cell value would have been more friendlier. Even though we have added the buttons for these functionalities, it is confusing for the user, what are these buttons about?

Thanks,

Sara

jcgood25
Active Contributor
0 Kudos

We all know about unfriendly UI's now don't we

I'm sure with the combination of a valid abbreviation or more of a functional name (your choice for "Get the records for the parent id" is way too developer minded) and a bit of user training as needed that it will work out just fine. Perhaps "Show Parent Records" would be suitable?

I'm sure you'll figure it out.

Regards,

Jeremy

Former Member
0 Kudos

"Show Parent records" will not work for us. We have parent Id coulmn. When the user clicks on the parent id link, we would like to bring all the records which has the same parent record. "Show parent records" implies getting just parent record, which is not right. Actually the correct label may be "Get the records which has the same parent id as in the selcted row", which is very ugly.

What I am trying to say here is if we have the hyperlink support on the iGrid, it could have solved this issue. Otherwise we may have to go for these buttons in the GUI and it is not user friendly.

Thanks,

Sara

Former Member
0 Kudos

Did you consider using an HTML table instead?

I am sure one can create a table dynamically based on the records returned from a query.

That would help keep the "User Friendliness" as well.

Former Member
0 Kudos

Uday,

Unfortuanately it looks like we have to do that.

Thanks,

Sara

jcgood25
Active Contributor
0 Kudos

I give up...

When I deal with users, this is the approach I typically follow:

http://en.wikipedia.org/wiki/KISS_principle

Former Member
0 Kudos

Wonderful!

I'll remember this (and follow as well ).I guess this holds the key to successfull implementations.

Thanks!!

Former Member
0 Kudos

Thanks Jeremy for the document.

-Sara

0 Kudos

You could also create a mouseover event to show the longer text for each of the buttons and use something short for the name.

Former Member
0 Kudos

Thanks, Mike. That is also a nice idea. But we would like to build our own gui using javascript framework and it will be more user friendly.

-Sara

Former Member
0 Kudos

Sara, it would be quite easy to use an XSL style sheet or BLS transaction (with HTML output instead of XML output) to provide "server-side" generation of the HTML table, with all of the scripting, hyperlinking, mouseover, and so on.

Former Member
0 Kudos

Thanks, Rick. This will work for us.

Do you have any examples how to implement this?

Thanks,

Sara

lawrence_prinsloo
Participant
0 Kudos

Hi Sara,

What you could try do is use radio buttons. You can then format the text to look as pretty as you want and still give the user a "selection" environment. Also, the radio buttons can fire off javascript functions which can interact with the iGrid properties so you can alternate between the row and cell selection.

Hope that helps and isn't too late.

0 Kudos

Rick,

Having done xsl generation of html before (back in version 11.0), I am not sure I would call it quite easy. But it is certainly doable using an xsl.

However, I am not sure I understand how you would do it using a BLS to generate HTML output.

Would you dynamically build the string input(s) to an HTML Saver Action Block inside the BLS?

Mike

Former Member
0 Kudos

You can write your HTML in a transaction, and then using javascript get it thru an icommand and just write it to a DIV on youre page. That way you can reload the data without doing a page refresh or using an iframe.

Former Member
0 Kudos

<protective_shields_on>You could do the similar using an AJAX ( A pplets J ust A ren't e X citing ( anymore ) ) with a URL call to the BLS that generates the code that would then get pushed into the DIV and without the overhead of the JRE on the client or the applet on the page.</protective_shields_on>

Former Member
0 Kudos

Yea. If you wan't to go the AJAX rout, Adobe Spry works perfectly with xMII. Also there are some pretty sweet flash chart suites out there on teh internets....

Former Member
0 Kudos

By far, the best 3rd party UI builder for xMII is Adobe Flex/Air. It really integrates nicely, and combines charting, forms-based, grids, and other UI stuff with a good "XML service consumption" capability, and very good XML handling via its E4X implementation.

Highly recommended!

Former Member
0 Kudos

Sara:

My technique is to use a string property (a string transaction output), then I wrote a library of small transactions that create the correct HTML content for various types of HTML tags (tables, rows, columns, divs, etc). I invoke these as needed, and the resultant HTML snippet is appended to the string transaction output property.

To generate the HTML content, I invoke the runner servlet, pass the name of the appropriate output parameter in OutputParameter=XXX, and add to the URL:

&Content-Type=text/html

I've used this technique to create specialized tables, gantt charts, and entire pages dynamically as well.

AJAX is also a viable approach. The only real disadvantage is that you can't edit/manage the application logic as easily in a single place, but it is definitely a good approach to use AJAX if you'll be leveraging some of the very cool AJAX UI libraries out there.

Again, I am a big fan of Adobe Flex also. It can easily integrate with/share events with the MII applets and other HTML content on the page, or you can build entire apps with Flex using just MII as the back end.

Hope this helps,

Rick

Former Member
0 Kudos

Ryan:

AJAX rocks for things that can be easily rendered using HTML tags, but if you try to do things like charts, etc. it tends to suck badly if you want any kind of interactivity. I've seen nasty hacks using server-side generated images and a crapload of image hotspots, but that's brutal.

For interactive, graphical UI elements (charts, gauges, etc.), something like a Flash control, .NET/WPF/Silverlight control, SVG element, or applet makes a lot of sense.

Rick

Former Member
0 Kudos

I agree; I was just trying to ruffle some feathers.

0 Kudos

Better raise your shields again!

Mike