dashcode-如何结合一个数据源中的两个值[英] Dashcode - how do you combine two values from one datasource

本文是小编为大家收集整理的关于dashcode-如何结合一个数据源中的两个值的处理方法,想解了dashcode-如何结合一个数据源中的两个值的问题怎么解决?dashcode-如何结合一个数据源中的两个值问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

在dashcode中,如果我有一个数据源,例如,有两个称为" firstName"和"姓氏"的字段,我如何将2个字段串联到列表视图中的一个文本字段中?

>

我相当确定必须使用值变压器,所以说我将" firstName"字段分配给TextField,并添加一个值变压器...然后如何将'lastName'值添加到变压器中的"值"变量.

我确定这与dashcode.getdatasource和valueforkeypath有关,我认为我接近解决方案,但这似乎有点不合时宜,因此任何帮助都将不胜感激.

推荐答案

正确 - 您需要使用Value Transformer.

在变压器中,您的编码如下:

itemDescription = Class.create(DC.ValueTransformer,{
    transformedValue: function(value){

    var itemDataSource = dashcode.getDataSource('itemsList'); // The Data Source Name here
    var lastName = itemDataSource.selection().valueForKey('lastName'); // Presumes you have a field called lastName
    return value + " " + lastName;
    }
});

希望这会有所帮助 - 我与此作斗争一天!!!

其他推荐答案

对于将来的Googles,由于任何地方都没有任何文档:

在详细的视图中连接两个字段从同一数据源:

xml

<?xml version="1.0" encoding="utf-8"?>
<immobilier>    
  <bien>
    <ID>1453</ID> 
    <Titre>Maison / Villa F4</Titre>
    <Ville>Sainte Clotilde</Ville>
    <Quartier>BRETAGNE</Quartier>
  </bien>
</immobilier>

组合田野和Quartier创建一个值的变压器:

mapAdresse = Class.create(DC.ValueTransformer,{
    transformedValue: function(value){

        if (value.trim() != "") {
            //Replace immoListe with your source name
            var itemDataSource = dashcode.getDataSource('immoListe');

            //THIS IS THE MOST IMPORTANT : HOW TO FIND THE CURRENTLY SELECTED ITEM INDEX 
            var selectedIndex = document.getElementById('list').selectedIndex; 

            //Use the selectedIndex to find the record in the datasource
            var quartier = itemDataSource.selection().valueForKey("bien")[selectedIndex].valueForKey("Quartier");

            //Concatenate to your liking
            if (quartier.trim() != "") value = value + ", "+ quartier;
        }

        return value;
    }
});

为什么在任何地方都没有记录在任何地方?殴打我!

本文地址:https://www.itbaoku.cn/post/1793908.html