tags:

views:

373

answers:

4

I am trying to get Data Type (Body Format) of Mail,Calendar e.t.c. Body.

Getting Body content as:

String Body = (string)((object[])docInbox.GetItemValue("Body"))[0];

or

String Body = docInbox.GetFirstItem("Body").Text;

I tried it using:

String bodyFormat = ((object[])docInbox.GetItemValue("Body"))[0].GetType().ToString();

But in this case i am getting "System.String" value.But actually it is : "Rich Text".

A: 

You're now getting the value through GetItemValue("Body"). Isn't there a method like

GetItem("Body")

which contains this information?

Jan Jongboom
It's Lotus Notes, they have no sensible set of properties and methods like .NET has in most cases :)
Rafal Ziolkowski
Ah well, at least I was in the right direction :-) it was more to show that only getting the value wasn't getting hem anywhere.
Jan Jongboom
A: 

You have to look for You item in Items collection and then You can do

docInbox.Items[foundBodyItemIndex].Type

RichText has "1"

Rafal Ziolkowski
+2  A: 

Try:

NotesRichTextItem rtItem = docInbox.GetFirstItem("Body")

String body = rtItem.GetFormattedText(False, 0)

or

String body = rtItem.GetUnformattedText()
Carlos
+1  A: 

If you are trying to get the Notes data type of the "Body" item, you can use the Type property of the NotesItem class. For example:

...
dim itemBody as notesItem, nType as integer
set itemBody = doc.getItem ("Body")
nType = itemBody.Type
...

RichText is 1, Text is 1280, Numeric is 768, etc. Domino Designer Help has the full list of values.

EDIT: You can find the full list of Type values here:

Ed Schembor
thanx edSchembor.
Preeti Singh