zoukankan      html  css  js  c++  java
  • Infopath : 如何通过代码复制格式文本框的值

    昨天被人问到这样的一个问题:在Infopath表单中,有两个格式文本框,希望通过代码的方式来复制其内容。但复制过去之后,第二个文本框不能实现换行。下面是截图

    image

    之前的代码是下面这样的:

    this.CreateNavigator().SelectSingleNode("/my:myFields/my:NewText", NamespaceManager).SetValue(
                   CreateNavigator().SelectSingleNode("/my:myFields/my:OriginalText", NamespaceManager).Value);

    其实,上面的代码在针对一些标准的文本框或者下拉框的话,是没有任何问题的。但针对格式文本框,则有问题。为什么这么说呢?因为格式文本框里面不仅仅有文本,还有格式。例如换行,粗体,颜色等等。

    那么一个格式文本框,到底如何表示这些东西的呢?其实是一个XML片段

    <html xmlns="http://www.w3.org/1999/xhtml">
      <div>我是陈希章</div>
      <div> </div>
      <div>来自上海</div>
      <div> </div>
      <div> </div>
      <div> </div>
    </html>

    它用了div来实现换行,为什么呢?因为div默认的display为block,该效果类似<p/>

    那么,应该如何修改代码来实现我们复制格式文本框的目的呢?

    this.CreateNavigator().SelectSingleNode("/my:myFields/my:NewText", NamespaceManager).InnerXml =
        CreateNavigator().SelectSingleNode("/my:myFields/my:OriginalText", NamespaceManager).InnerXml;

     

    image

  • 相关阅读:
    django学习笔记(一)
    Python之函数进阶
    Python之函数初识
    Python之文件操作
    基础补充
    字典
    神奇的列表
    万能的字符串
    Python基础(二)
    使用paramiko进行ssh连接
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1585355.html
Copyright © 2011-2022 走看看