Link to home
Start Free TrialLog in
Avatar of ninteen83
ninteen83Flag for Qatar

asked on

Embedded Views in Web

I have a page that has two embedded views. Both are set to display 'Using HTML'.

When I open the page in the browser, it displays the first view but the the 2nd one doesn't appear.

If I set both of them or one of them to display 'Using Java Applet' . then both of them appears on the browser.

I don't want to use applets in the page and want to show the content as html.
Avatar of madheeswar
madheeswar
Flag of Singapore image

I think you are using ND6.
Since in R5, 2 embedded views are not possible.

And as per displaying in HTML, what is the main purpose of displaying 2 embedded views?
And I think it is the limitation in ND6 to display one HTML embedded view and another as Java applet.

try to enable display as HTML in view properties and code the columns in view with td and tr tags and write table tag and in between create $$Viewbody field .

some thing like this:

<table>
$$ViewBody field
</table>

check this thread for more info on how to display as HTML;
https://www.experts-exchange.com/questions/21059633/Table-and-appending-rows-with-data.html

Hope it helps.
Avatar of ninteen83

ASKER

thanks madheeswar for the help.

I'm building a web page where i'm going to display two different views. This can be done using iframe .. but i'm not confortable with iframe.

you suggested to use td & tr tags. Sounds good to me as i love working with html. Can you please describe it step by step ?
I am not sure whether this will work or not. But u can try. Just follow the link:
https://www.experts-exchange.com/questions/21059633/Table-and-appending-rows-with-data.html
Avatar of CRAK
I may need some help from other experts as I can't manage to get this to work for the web (yet), but I have once posted a way to put TWO embedded views on a form. Can't find in though.....

Create a subform and embed the 1st of the views to be shown.
Put the subform on a form, as COMPUTED subform.
Embed the 2nd view under the computed subform.

This works for the notes client and I'm pretty sure I ran on the web before to! Currently previewing from the designer client (local). The trick depended on two details: one of them needed to be added by computation and the order in which the two were shown was critical.

It's yours if you can use it!
Well, 2 embedded views are possible in the Notes client in R6, so no need for workarounds.  I don't think this works for the web.

You can use iframe fairly easy to embed as many views as you like, though.
This is an example (works for IE5.5 / Mozilla 1.x):

<div id="TBOS-5YWHC6" style="position: absolute;
left: 120px; top: 132px;
width: 610px; heigth: 150px;border: 1px;border-style: solid;z-index: 2;">
<iframe id="TBOS-5YWHC6_frame" frameborder="1" width="610" height="150" scrolling="auto" src="/db.nsf/view?openview" style="top: 132px; left: 120px">
Your browser doesn't support frames - you can't use the advanced features of this site</iframe>
</div>

The other solution (to build the page using @dblookups and your own table tags) will work too, of course ....

cheers,

Tom
Hi CRAK

I went through ur suggestion .. still have the same problem. If I set both of them or one of them to display 'Using Java Applet', they appears on the browser otherwise they the 2nd doesn't appear. But I don't want to display applet or iframe as I'm not comfortable with them

let me try @dblookup ..

your suggestion are always welcome

:)
the solutoin which was proposed by Tom, should work.
And there is no issue in trying right?

U will be in big trouble if the documents are in thousands and u wil hit at 64K limit.

its better u follow iframe solution.
By using iframe I have to fix the height of the iframe and fixing the height will create problem. The height of the iframe doesn't increase/decrease by itself.

It seems that @dbcolumn can help me. I'm using the following to get the first document. But there are alomst 6 docs in the view.

@DbColumn( "" : "" ; server : database ; "Late3Jobs" ; 1 )

How to get the first documnt?? and how to get the second? how to get the link of the 1st & 2nd documents ??
use:
For first doc:
@Subet(@DbColumn( "" : "" ; server : database ; "Late3Jobs" ; 1 );1)

For last doc:
@Subet(@DbColumn( "" : "" ; server : database ; "Late3Jobs" ; 1 );-1)
Sorry it is:

For first doc:
@Subset(@DbColumn( "" : "" ; server : database ; "Late3Jobs" ; 1 );1)

For last doc:
@Subset(@DbColumn( "" : "" ; server : database ; "Late3Jobs" ; 1 );-1)
Use a loop (you are using R6, right ?)

result := @iferror(@DbColumn( "" : "" ; server : database ; "Late3Jobs" ; 1 );"");
out := "<table>";
@for(x:=1;x:=x+1;x<=@elements(result);

secondcol := @iferror(@dblookup( "":"" ; server:database; "Late3Jobs" ; result[x] ; 2 );"");
thirdcol := @iferror(@dblookup( "":"" ; server:database; "Late3Jobs" ; result[x] ; 3 );"");

out := out:("<tr><td>"+@implode(secondcol;",")+"</td><td>"+@implode(thirdcol;",")+"</td></tr>");

);
@implode(out;@newline)

It is of course better to NOT use a lot of dblookups (performance), but get the complete result in 1 go (create a view , concatenate what you want in 1 column (value1+"#"+value2), and split that out ).  

cheers,

Tom

and add a closing "</table>" tag ....
Bozzie .. I tried loop but it gives "formula has exceeded the maximum allowable memory usage" error

I want to display only the first two documents (and only on column) ..

Madheeswar .. @Subset(@DbColumn( "" : "" ; server : database ; "Late3Jobs" ; 1 );1) works for the first one and trying to get the second document ..

change the no's
@Subset(@DbColumn( "" : "" ; server : database ; "Late3Jobs" ; 1 );change the no's here)
when a document is created and opened in web .. notes generates an id for the document .. as a document id is shown below:

http://www.abc.com/web.nsf/1eb6141cfa239a5943256eed0023fb3b/ada31c6cfb3b43dd43256eed002fb0cb?OpenDocument

how to get this id in notes client ?? I tried @Text(@DocumentUniqueID) but it does not help.
Madheeswar .. I tried @Subset(@DbColumn( "" : "" ; server : database ; "Late3Jobs" ; 1 );2)

it displays both the first 2 documents not only the 2nd doc.
ASKER CERTIFIED SOLUTION
Avatar of madheeswar
madheeswar
Flag of Singapore image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
It helped.

and what is "1eb6141cfa239a5943256eed0023fb3b" and how to get it?

this will solve my whole problems ..
"1eb6141cfa239a5943256eed0023fb3b" this is view id.
No need to confuse.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Madheswar .. you've done a good job

thanks brother ..

I'm increasing it to 125 .. have fun ;)

CRAK, Bozzie4 .. thank you :)
This one will work too (had the arguments for the for loop reversed) ...

result := @IfError(@DbColumn( "" : "" ; @DbName ; "Late3Jobs" ; 1 );"");
out := "<table>";
@For( x:=1; x<=2; x:=x+1;
secondcol := @IfError(@DbLookup( "":"" ; @DbName; "Late3Jobs" ; result[x] ; 2 );"");
thirdcol := @IfError(@DbLookup( "":"" ;  @DbName; "Late3Jobs" ; result[x] ; 3 );"");

out := out:("<tr><td>"+result[x]+"</td><td>"+@Implode(secondcol;",")+"</td><td>"+@Implode(thirdcol;",")+"</td></tr>")
);
@Implode(out;@NewLine)+"</table>"
Good work Bozzie .. I've seen your reply now ..

how can I split the points .. ??