首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >infopath级联下拉菜单,以1;#ABC格式显示查阅字段值。需要将值格式化为不带id的ABC

infopath级联下拉菜单,以1;#ABC格式显示查阅字段值。需要将值格式化为不带id的ABC
EN

Stack Overflow用户
提问于 2011-04-19 15:17:39
回答 3查看 1.7K关注 0票数 0

我有一个支持浏览器的infopath表单和一个下拉框(级联),数据从xml文档中检索。数据的格式如下-(因为值是从查找字段中检索的。)

item_number;#item_value

如何在下拉框中仅显示item_value。我可以将规则应用于下拉框吗?或者有什么方法可以通过代码实现这一点吗?

谢谢你的帮助!

我在cascaded dropdown look up field找到了一个类似的帖子,但没有合适的解决方案

我找到了一个解决方案,但很难让它工作,我正在使用一个文件查询连接来获取下拉列表的数据,我将执行该连接并使用结果填充一个xml文档。我在将内容写入xmldocument时遇到了问题,请看我的问题--

Infopath FileQueryConnection.Execute(XpathNavigator) throws System.Net.WebException: Attempted to read or write protected memory

我想如果这个问题解决了,一切都会好起来的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-23 21:25:25

最终找到了解决方案:

代码语言:javascript
复制
 private void formatValue(string dataSourceName, string xPathSTring)
    {
        FileQueryConnection con = (FileQueryConnection)DataConnections[dataSourceName];
        con.Execute();
        DataSource ds = this.DataSources[dataSourceName];
        XPathNavigator nav = ds.CreateNavigator();
        XPathNavigator root = MainDataSource.CreateNavigator();
        XPathNodeIterator iterator = nav.Select(xPathSTring, NamespaceManager);
        while (iterator.MoveNext())
        {

            string value = iterator.Current.Value;
            int startFrom = value.IndexOf('#') + 1;
            iterator.Current.SetValue(value.Substring(startFrom, (value.Length - startFrom)));
        }
    }
票数 0
EN

Stack Overflow用户

发布于 2011-04-29 08:13:48

您是否尝试过使用XPath表达式并执行此操作

代码语言:javascript
复制
substing-after(YourFieldName, '#')
票数 1
EN

Stack Overflow用户

发布于 2011-05-17 04:52:28

您可以尝试使用额外的计算列来显示清晰的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5712877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档