cancel
Showing results for 
Search instead for 
Did you mean: 

Print button

Former Member
0 Kudos

Hi all.

I have to implement a print function asociated to a print button, i know there isnt provided by webdynpro.

The content to print is into a table(context node).

This funtionality has to open a print preview page. I think in a jsp file that can embed the javascript window.print() function. But i dont where to put this jsp and how to pass the content that will be previwed in it.

If somebody knows please let me know how.

Thx

Best regards

Gregory

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

Their is no direct way of implementing print functinality in WebDynpro.

You can use Adobe Forms as explained in the following link

http://help.sap.com/saphelp_nw2004s/helpdata/en/2c/241a427ff6db2ce10000000a1550b0/frameset.htm

Former Member
0 Kudos

Dear Gregory Mayorga,

I'm a new WD team. I want to use print button ( javascript: window.print()) for pirnt dynamic textview.

I used IFrame and I have a problem about bind the source property of the IFrame with my html file(javascript in this file).

In method wdDoInit, it's use _contentType.format

What Class can I declare this avariable?

Thanks

Chutima

Former Member
0 Kudos

Hi Chutima.

I didnt solve my print problem.

I'm trying using a web application (jsp application) but i still working.

Best Regards.

Gregory.

Former Member
0 Kudos

Gregory,

Let me suggest something different -- opening in external window printer-friendly variant of page.

1. Use my code posted here to get generic context->xml serializer

2. Find a guy in your company who knows XSLT. Ask him to write template for this serializer, that pretty-prints xml of context to html

3. Use code from my weblog post <a href="/people/valery.silaev/blog/2005/11/23/display-formatted-text-using-webdynpro-for-java formatted text using WebDynpro for Java</a> to create WebResource dynamically and get URL to it. The only difference is that:

a. Bytes are result of XSLT transformation

b. Generated URL should be used as parameter for opening external window (by wdComponentAPI.getWindowManager().open<...>)

XSLT template may even contains HTML button / link that invokes window.print()

Valery Silaev

EPAM Systems

http://www.NetWeaverTeam.com

Former Member
0 Kudos

Thx Valery.

Let me tray this.

Best Regards.

Gregory.

Former Member
0 Kudos

Hi Valery.

Theres nobody in my company who knows about XSLT.

I read some tutorials but i cant learn too much :). I read that i believe is a template and save it in a xsl file.

How can i pass this template to the serializer?

Am i in the right way?

Please i need some help.

Thx a lot

Best Regards.

Gregory.

Former Member
0 Kudos

Please i need help.

Where can i find good tutorials about xslt templates?

Thx.

Best Regards.

Gregory.

Former Member
Former Member
0 Kudos

Thx a lot Valery.

I understand that the Template must be passed to ur XmlSerializer class. And the form that i know is createing a template from a file, i tried to this code:

Templates temp = null;

try{

File f = new File(<XSL FILE PATH>);

temp = TransformerFactory.newInstance().newTemplates(((Source)new StreamSource(f)));

} catch(Exception tr){

wdComponentAPI.getMessageManager().reportException(

tr" : "tr.getMessage(), true);

}

final XmlSerializer serializer = new XmlSerializer(temp);

The problem is that i dont know how to determine the path of the file that i put in the package structure. How can i determine the path?

I'm working with a test application that have a node called "Node" with three atts called "Col1, Col2, Col3". I also create a xsl file that comtains the following lines:

<?xml version="1.0" encoding="ISO-8859-1" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="*">

<html>

<body>

<form action="javascript:window.print()">

<buttom name="imprimir" value="imprimir" type="submit">Imprimir</buttom>

</form>

<table border="1">

<tr bgcolor="#9acd32">

<th align="left">Col1</th>

<th align="left">Col2</th>

<th align="left">Col3</th>

</tr>

<xsl:for-each select="Node">

<tr>

<td>

<xsl:value-of select="Col1" />

</td>

<td>

<xsl:value-of select="Col2" />

</td>

<td>

<xsl:value-of select="Col3" />

</td>

</tr>

</xsl:for-each>

</table>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

I dont know if this file is correct or no, how can i know it?

Sorry for all the questions.

Best Regards.

Former Member
0 Kudos

Gregory,

Sadly, I'm not an XSLT guru either (tssssssss!

But I can provide some hints:

1. You need to use XML namesapces both in XSLT root element and XPath selectors:


<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:wdp="http://www.sap.com/solutions/netweaver/webdynpro"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
...

Here I've declared all namespaces used by my SAX source.

2. I'm not sure for this selector:

<xsl:for-each select="Node">

It should be

<xsl:for-each select="//wdp:node">

or

<xsl:for-each select="wdp:node">

Almost the same for rest of selectors -- add namespace and use proper case (my SAX source yelds lower-case names)

3. Save your stylesheet under src/packages folder of your project, say src/packages/xslt/PrettyPrint.xslt

Then load it via:


final Templates xsltPrettyPrint =
  TransformerFactory.newInstance().newTemplates
  (
    new StreamSource
    (
      this
        .getClass()
          .getClassLoader()
            .getResource( "xslt/PrettyPrint.xslt" )
              .toExternalForm()
    )
  );

VS

Former Member
0 Kudos

Gregory,

You may find this link useful when deciding where to store your XSLTs:

To check how input is looking like (i.e. what will be source for your transformation), you may use transformer without template (simply TransformerFactory.newInstance().newTransformer()) and save the result to file - you'll see the namespaces hierarchy of nodes, etc.

Best regards,

Nick

Former Member
0 Kudos

Gregory,

Here is an example XSLT that works for me (Node name "Companies", attributes "Name" and "Link"):


<?xml version="1.0" encoding="ISO-8859-1" ?> 
<xsl:stylesheet version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:wdp="http://www.sap.com/solutions/netweaver/webdynpro"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"

>
<xsl:template match="/wdp:node[@wdp:name='Companies']">
  <html>
    <body>
      <form action="javascript:window.print()">
        <button name="imprimir" value="imprimir" type="submit">Imprimir</button> 
      </form>
      <table border="1">
        <tr bgcolor="#9acd32">
          <th align="left">Col1</th> 
          <th align="left">Col2</th> 
        </tr>
        <xsl:for-each select="wdp:element">
        <tr>
          <td><xsl:value-of select="wdp:attribute[@wdp:name='Name']"/></td>
          <td><xsl:value-of select="wdp:attribute[@wdp:name='Link']"/></td>
        </tr>
        </xsl:for-each>
      </table>
   </body>
</html>
</xsl:template>
</xsl:stylesheet>

Some selectors / templates explained:

/wdp:node[@wdp:name='Companies']

-- select node 'Companies', that is root node. Use name of your node instead.

===========

<xsl:for-each select="wdp:element">..</xsl:for-each>

iterate over all elements of node, use the very same construct

===========

<xsl:value-of select="wdp:attribute[@wdp:name='Link']"/>

-- select attribute value, use your attribute name instead if Link

"Hope this helps"

Valery Silaev

EPAM Systems

http://www.NetWeaverTeam.com

Former Member
0 Kudos

Gregory,

Here is an example XSLT that works for me (Node name "Companies", attributes "Name" and "Link"):


<?xml version="1.0" encoding="ISO-8859-1" ?> 
<xsl:stylesheet version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:wdp="http://www.sap.com/solutions/netweaver/webdynpro"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"

>
<xsl:template match="/wdp:node[@wdp:name='Companies']">
  <html>
    <body>
      <form action="javascript:window.print()">
        <button name="imprimir" value="imprimir" type="submit">Imprimir</button> 
      </form>
      <table border="1">
        <tr bgcolor="#9acd32">
          <th align="left">Col1</th> 
          <th align="left">Col2</th> 
        </tr>
        <xsl:for-each select="wdp:element">
        <tr>
          <td><xsl:value-of select="wdp:attribute[@wdp:name='Name']"/></td>
          <td><xsl:value-of select="wdp:attribute[@wdp:name='Link']"/></td>
        </tr>
        </xsl:for-each>
      </table>
   </body>
</html>
</xsl:template>
</xsl:stylesheet>

Some selectors / templates explained:

/wdp:node[@wdp:name='Companies']

-- select node 'Companies', that is root node. Use name of your node instead.

===========

<xsl:for-each select="wdp:element">..</xsl:for-each>

iterate over all elements of node, use the very same construct

===========

<xsl:value-of select="wdp:attribute[@wdp:name='Link']"/>

-- select attribute value, use your attribute name(s) instead if Link

"Hope this helps"

Valery Silaev

EPAM Systems

http://www.NetWeaverTeam.com

Former Member
0 Kudos

...Or try this stylesheet -- it degenrates default HTML view (via nested tables)

[code]

<?xml version="1.0" encoding="ISO-8859-1" ?>

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

xmlns:wdp="http://www.sap.com/solutions/netweaver/webdynpro"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

>

<xsl:template match="/">

<html>

<style type="text/css" media="print">

form

td { font-family: "Times New Roman", serif!important }

</style>

<style type="text/css">

td

{

font-family: sans-serif, Arial ;

font-size: 10pt;

}

table { border-collapse: collapse }

caption

{

font-family: Verdana, arial;

font-weight: bold;

font-style: italic;

font-size: 18pt;

color: gray;

text-align: left

}

tr { border-bottom: solid 1px gray; }

td table

td caption

{

margin-top: 5pt;

margin-bottom: 2px;

font-size: 12pt;

font-style: normal;

background-color: #F0F0F0;

}

th

{

border-bottom: double 3px gray;

text-align: left;

font-family: Verdana, Arial;

font-size: 10pt;

font-style: italic

}

td, th

td tr

{

border-bottom: solid 1px #D0D0D0;

}

td th

{

border-bottom: solid 1px #A0A0A0;

border-right: dotted 1px gray

}

th.last, td.last { border-right-style: none }

td tr.last { border-bottom-style: none }

td.nested

td td, td th

{

border-right: dotted 1px gray

}

td td th { border-bottom: dashed 1px gray }

</style>

<body>

<form action="javascript:window.print()">

<button name="imprimir" value="imprimir" type="submit">Imprimir</button>

</form>

<xsl:apply-templates/>

</body>

</html>

</xsl:template>

<xsl:template match="wdp:node">

<table>

<caption><xsl:value-of select="@wdp:name"/></caption>

<thead>

<tr>

<xsl:apply-templates mode="header"

select="wdp:element[position()=1]/wdp:attribute"/>

</tr>

</thead>

<tbody>

<xsl:apply-templates/>

</tbody>

</table>

</xsl:template>

<xsl:template match="wdp:element">

<tr>

<xsl:if test="position()=last()">

<xsl:attribute name="class">last</xsl:attribute>

</xsl:if>

<xsl:apply-templates select="wdp:attribute"/>

</tr>

<xsl:variable name="cols" select="count(wdp:attribute)"/>

<xsl:variable name="children" select="count(wdp:node)"/>

<xsl:if test="$children &gt; 0">

<tr>

<xsl:if test="position()=last()">

<xsl:attribute name="class">last</xsl:attribute>

</xsl:if>

<td class="nested"><xsl:attribute name="colspan"><xsl:value-of select="$cols"/>

</xsl:attribute><xsl:apply-templates select="wdp:node"/></td>

</tr>

</xsl:if>

</xsl:template>

<xsl:template match="wdp:attribute">

<td>

<xsl:if test="position()=last()">

<xsl:attribute name="class">last</xsl:attribute>

</xsl:if>

<xsl:value-of select="."/>

</td>

</xsl:template>

<xsl:template match="wdp:attribute" mode="header">

<th>

<xsl:if test="position()=last()">

<xsl:attribute name="class">last</xsl:attribute>

</xsl:if>

<xsl:value-of select="@wdp:name"/>

</th>

</xsl:template>

</xsl:stylesheet>

[/code]

Heck, you force me to refresh my XSLT kwnoledge

Valery Silaev

EPAM Systems

http://www.NetWeaverTeam.com

Former Member
0 Kudos

Hi Valery, thx a lot for ur answer.

It works fine, but i'm having a problem, when the node contents much than an arbitrary number of elements the app doesnt shows the print html, for example a node whit 12 elements that contents more than 100 rows isnt displayed in the external window, the external window shows the following html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML><HEAD>

<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>

<BODY></BODY></HTML>

I guess that the problem is the number of bytes and the IWDCachedWebResource, but i'm not sure.

I hope u can help me.

Best Regards.

Gregory.

Former Member
0 Kudos

<i>node whit 12 elements that contents more than 100 rows</i>

You mean node with 12 <i>attributes</i> and 100+ <i>elements</i>???

I guess problem is in something different, however, I don't know exactly.

I just try second stylesheet (generic one) on my node with 150 elements and 2 nested sub-nodes -- it works fine and let me print 32 pages of report.

However, notice that I'm using NW04<b>s</b>.

Could you write your serialization code in a way, that it's always re-throw exceptions as RuntimeException? Probably this way we can get the real reason...

Valery Silaev

EPAM Systems

http://www.NetWeaverTeam.com

Message was edited by: Valery Silaev

Former Member
0 Kudos

Gregory,

just in case if nothing else would help - try to restart the server.

I'm applying a lot of XSLTs in my project and after some time, the application stops working - looks like Stylesheet gets attributes without names.

For example, such stylesheet:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="@*|node()">

<xsl:copy>

<xsl:apply-templates select="@*|node()"/>

</xsl:copy>

</xsl:template>

</xsl:stylesheet>

Which should just copy input to output, generates NPE in implementation of XMLToolkit when first attribute appears in the input document (in debugger I see attribute.getName() returns null).

This relates only to "templated" transformation - i.e. when no template is loaded (newTransformer(), no templates) result is generated properly.

After restart of the server, my application continues to work properly.

Also if you did modify Valery's stylesheet, take care not to apply too deep recursive calls - what perfectly works in standalone application for me, doesn't work in J2EE environment (looks like stack for the transformation is very limited, much smaller than even for "normal" Xalan in JDK).

According to your post, either you're not using Valery's template (as there is static declaration of styles on match="/", so output document should contain at least this text) - then please provide XLS code you're using, or the problem in something different.

Best regards,

Nick

P.S. I'm on SP12

Former Member
0 Kudos

Hi, thx for ur answers.

I try to use the generic xslt and occurs an exception:

Could not load stylesheet.com.sap.engine.lib.xml.parser.NestedSAXParserException: com.sap.engine.lib.xml.parser.ParserException: Invalid char #0x0(jar:file:/F:/usr/sap/...PrettyPrint.xslt, row:30, col:25)

Before that i restart the server and the app continues working in the same way.

Best Regards.

Gregory.

Former Member
0 Kudos

Gregory,

your last post points that something is rather wrong with your XSLT.

BTW, I'm confused about protocol: <b>jar:file:</b>/F:...

are you reading XSL from JAR?

I would recommend you to simplify your testcase: use very simple XSLT, loaded from fixed place on the server with just one template

<xsl:template match="/">

some text

</xsl:template>

when this will work, try extend it with printing nodes, then with attributes and so on until you reach XSL proposed by Valery.

And make sure your XSL is working outside of the J2EE environment - run the transformation with test.xml to make sure there will be no ParserException in "normal" situation.

Best regards,

Nick

Former Member
0 Kudos

Hi Nick.

-I download an xslt editor and check the xslt file its fine.

-I guess the file is inside a jar because i create a folder under src/packages and save the xslt file there.

-I use a simple xslt loaded from the same place and work well, but with the problem described before(when the node has 12 atts and +100 elements the html is not created by the IWDCachedWebResource).

I need some help on that.

Thx a lot.

Best regards.

Gregory.

Former Member
0 Kudos

Gregory,

I'm a little confused with your problem:

- you referred that you get empty HTML (which means for me there was no exceptions), then you write that you get ParserException (which for me means that no HTML is generated) - these are IMHO two different problems.

- you refer that simple xslt works well - what does "simple xslt" mean? The one I proposed with simple output text?

Try to use following XSLT:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="/">

Count of elements: <xsl:value-of select="count(//*)"/><br/>

<xsl:apply-templates/>

</xsl:template>

<xsl:template match="*">

<xsl:value-of select="name()"/><br/>

<xsl:apply-templates/>

</xsl:template>

</xsl:stylesheet>

The first line of output should contain amount of nodes in input - you'll see if there is something to transform;

Then it should print element names of your input.

What is IWDCachedWebResource? Where does your program work with it?

In my application I'm working with MBs of source for transformation generated dynamically - there are thousands of elements with tens of attributes - no problem (on SP12), I don't believe number of elements/attributes or bytes for transformation is so critical here.

Again, try to simplify your code - apply it to context, which has only one node with one attribute to check if it's really the situation e.g. when 5 nodes work and 10 do not.

Best regards,

Nick

Former Member
0 Kudos

Thx for ur answer Nick.

My app executes the following code for create and open an HTML for print:

final Templates xsltPrettyPrint = TransformerFactory.newInstance().newTemplates(new StreamSource(this.getClass().getClassLoader().getResource( "com/prueba/xml/PrettyPrint.xslt" ).toExternalForm()));

The code above creates the Template based on xslt file. The xslt file is the following:

////////////PrettyPrint.xslt///////////////

<?xml version="1.0" encoding="ISO-8859-1" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

xmlns:wdp="http://www.sap.com/solutions/netweaver/webdynpro"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsl:template match="/wdp:node[@wdp:name='Nodo']">

<html>

<body>

<form action="javascript:window.print()">

<button name="imprimir" value="imprimir" type="submit">Imprimir</button>

</form>

<table border="1">

<tr bgcolor="#9acd32">

<th align="left">Col1</th>

<th align="left">Col2</th>

<th align="left">Col3</th>

</tr>

<xsl:for-each select="wdp:element">

<tr>

<td><xsl:value-of select="wdp:attribute[@wdp:name='Col1']"/></td>

<td><xsl:value-of select="wdp:attribute[@wdp:name='Col2']"/></td>

<td><xsl:value-of select="wdp:attribute[@wdp:name='Col3']"/></td>

</tr>

</xsl:for-each>

</table>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

////////////PrettyPrint.xslt///////////////

final XmlSerializer serializer = new XmlSerializer(xsltPrettyPrint);

final StringWriter out = new StringWriter();

serializer.serialize(wdContext.nodeNodeTest(), out);

final String formattedStr = out.toString();

This code apply the Template and generates an html file

final IWDCachedWebResource resource = WDWebResource.getWebResource(formattedStr.getBytes("UTF-8"), WDWebResourceType.HTML);

resource.setResourceName("HTML_Prueba.html");

resource.setAttachement( false );

resource.setReadOnce( false );

IWDWindow print = wdThis.wdGetAPI().getComponent().getWindowManager().createExternalWindow(resource.getAbsoluteURL(),null,false);

print.removeWindowFeature(WDWindowFeature.ADDRESS_BAR);

print.removeWindowFeature(WDWindowFeature.TOOL_BAR);

print.removeWindowFeature(WDWindowFeature.MENU_BAR);

print.open();

This code opens an external window that displays the HTML generated.

The NodeTest has 3 atts and when contents +1000 elements the HTML is empty(using the simple xslt template showed above).

Using the other xslt template(the last in this post) i get the ParserException.

Best Regards.

Gregory.

Former Member
0 Kudos

Gregory,

could you please confirm that the implementation works without problem for context with small amount of elements? I asked this several times - let's make sure you're struggling with problem of size, or it doesn't work at all.

You may check if the IWDCachedWebResource makes your problem, replacing (or duplicating) the functionality with FileDownload UI element:

- create attribute of type binary, associate FileDownload to the attribute

- in code assign file name and mime for the attribute:

IWDAttributeInfo attrInfo =

wdContext.getNodeInfo().getAttribute(attributeName);

IWDModifiableBinaryType binaryType = (IWDModifiableBinaryType)attrInfo.getModifiableSimpleType();

binaryType.setFileName(fileName);

binaryType.setMimeType(mimeType);

- and, of course, put the byte[] data to the attribute:

wdContext.currentContextElement().set<AttributeName>(formattedStr.getBytes())

Check if downloadable version is any better than you get in the window.

The ParserException is very strange - looks like there is something wrong in loading of XSLs - may be you're using different encoding statements in heading of the files:

<?xml version="1.0" encoding="<something different>" ?>

Best regards,

Nick

Message was edited by: Nick Entin

Former Member
0 Kudos

Nick.

I have 2 xslt files, the app works with one of these but i have the problem with the amount of elements. With the other one xslt i have the ParserException.

And the encoding that i'm usaing is 'ISO-8859-1'

I already try with the download ui element and works fine. But the requirement is that the html with the content of the node(table) be displayed in a new window with the print option.

Best Regards.

Gregory.

Former Member
0 Kudos

Gregory,

if you say that with download ui element it works fine, it means amount of elements is not a problem for transformation.

So it's problem of generating content of the new window (IWDCachedWebResource).

You may reduce amount of output information in your XSL - try to process only nodes with predefined condition in your "working" prettyPrint.xsl (e.g.


    <body>
      <form action="javascript:window.print()">
        <button name="imprimir" value="imprimir" type="submit">Imprimir</button> 
      </form>
      <xsl:apply-templates <b>select="wdp:node[wdp:attribute/@name='only nodes where this attribute defined']</b>/>
   </body>

note: I don't know how the input XML looks like, so you might need to update the xpath here)

if this approach would work or if you confirm that your application works with small amount of elements - it would look like a bug in the

WDWebResource.getWebResource(formattedStr.getBytes("UTF-8"), WDWebResourceType.HTML)

BTW, did you check in debugger what's in formattedStr before execution of the statement and what is the result of the statement?

Best regards,

Nick

P.S. and the ParserException is weird thing - you said the script is valid in external tool and it reports invalid "#0x0" character - what's do you see by position mentioned in the exception?

Former Member
0 Kudos

Hi Nick. Thx for ur answer and sorry about the delay.

I tried what u seggested but the app continues working just as before.

I check the formattedStr and it contains the complete html code.

Best Regards.

Gregory.

Former Member
0 Kudos

Hi Gregory,

I'm sorry, I didn't get you - do you say that even if formattedStr contains small amount of data (you applied filtering in XSL) it still produces empty HTML?

Then your suspect in amount of bytes manageable by CachedResource is not a problem.

May be WDWebResource.getWebResource(formattedStr.getBytes("UTF-8"), WDWebResourceType.HTML) doesn't work at all?

Do you see something interesting in debugger in result of the "getWebResource" execution (may be there are some variables initialized, which give you a hint, what could be wrong)? BTW, is everything correct in "formattedStr.getBytes("UTF-8")"?

I don't think I could help you further - the problem is localized in a place, where XSL and scripts from Valery to serialize context play no role - there could be a bug in getWebResource, but it's out of my competence - I have no experience with the classes.

Best regards,

Nick

Former Member
0 Kudos

Hello Gregory,

As far as I know, you'll need to use the IFrame control.

You'll need to

1. Capture the HTML that has been displayed on the browser.

2. Save it in a .html file format.

3. Then bind the <b>source</b> property of the IFrame to this file.

For steps 2 and 3, check

thread.

Regards,

Satyajit.

Message was edited by: Satyajit Chakraborty

Former Member
0 Kudos

Hello Gregory,

As far as I know, you'll need to use the IFrame control.

You'll need to

1. Capture the HTML that has been displayed on the browser.

2. Save it in a .html file format.

3. Then bind the <b>source</b> property of the IFrame to this file.

For steps 2 and 3, check

thread.

Sorry about the last message.

Regards,

Satyajit.

Former Member
0 Kudos

Try to use "IFrame" and put the javascript into a plain html and attach this html to the IFrame.

RK