无法在C#中创建的Notes文档中获取换行符

时间:2012-04-03 20:39:29

标签: c# lotus-notes

我使用C#代码在Notes数据库中写入条目。下面是我正在做的事情的一个简单例子。

var text = "Line 1\r\nLine 2\r\nLine 3";
doc.ReplaceItemValue("Body", text);
doc.Save(false, false);

我希望当我在Notes中查看文档时,我会看到正文格式如下:

Line 1
Line 2
Line 3

然而,Notes似乎吃掉了换行符,我实际看到的是:

Line 1Line 2Line 3

我也尝试过使用Environment.Newline\n,但这对我在Notes中观察到的格式没有任何影响。

我没有做很多Notes编程,所以我有点困惑为什么这对我不起作用,因为我遇到的每个例子都与我的代码类似。

3 个答案:

答案 0 :(得分:2)

如果要在文档正文中添加新行,可以使用NotesRichTextItem方法,如下所示:

//(note this is pseudo-code as I'm typing this from memory)
var richTextItem = new NotesRichTextItem(doc, "Body")
richTextItem.AppendText("Line 1");
richTextItem.AddNewLine(1);

doc.Save(false,false);

答案 1 :(得分:0)

如果它是一个简单的文本字段,请在备注表单中将其定义为多值字段,然后您可以执行类似

的操作
dim item as notesitem
set item = doc.replaceitemvalue("Body","Line 1")
call item.appendToTextlist("Line 2")
call item.appendToTextList("Line 3")

答案 2 :(得分:0)

这看起来很像java API在8.5之前的换行问题。您应该能够在任何文本项中添加换行符,而不仅仅是RichText,而不是使用像乱码一样的黑客。

在8.5中修复之前,一个解决方法是使用session.evaluate来操作公式语言中的文本。