Fetch XML Link Entity 数量限制10个,那就不用LinkEntity吧

页面上有一个Lookup field,当选择一个记录时,同时要把这个记录的其他值也带到本页面来,其中有好多是Lookup来的。

开始我用LinkEntity来取得它们的名字值,但是后来发现LinkEntity有数量限制,每条查询语句只能有10个LinkEntity,超过就报错,Advanced Find里也是一样的。

所以,用LinkEntity并不是一个好办法,而且我只是要取得一个名字的值而已,直觉告诉我不用那么麻烦的。

研究了一下,其实Fetchxml取的Lookup的值,不仅有GUID,名字的值也取到了,只不过名字值要经过一定的步骤转化才能拿到。

下面是具体方法:

首先,我们从返回的xml对象中取出我们的要的元素:

var county = oXmlDoc.getElementsByTagName("my_county")[0];

调用一个方法来取得名字值:

var countyName= GetAttributeName(county);

GetAttributeName方法,其实就是把字符串转化为Xml Node,再对里面的属性进行分析,得到我们要的那个属性的值:

function GetAttributeName(xmlNode) {
    var xmlStr = xmlNode.xml;
    var doc;
    if (window.ActiveXObject) {
      doc = new ActiveXObject('Microsoft.XMLDOM');
        doc.async = 'false';
        doc.loadXML(xmlStr);
    } else {
        var parser = new DOMParser();
        doc = parser.parseFromString(xmlStr, 'text/xml');
    }
    var name = doc.documentElement.attributes.getNamedItem("name").text;
    return name;
}

好的,这样Id和Name都有了,就可以给目标设值了。

转载于:https://www.cnblogs.com/nixjojo/archive/2012/05/28/2521197.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值