Junção de Datasets com Constraints

Caros, Preciso juntar o dataset ColleagueGroup com o Colleague para formar uma único Dataset que retorna Nome,Nome do Grupo. Alguém tem algum exemplo?

@Italo,

Tenho um exemplo aqui que busca usuários de um determinado Grupo que você passa como parâmetro, dai você altera da melhor forma que possa te atender:


function createDataset(fields, constraints, sortFields) {
    log.info("#### Dataset Usuarios de um GRUPO ####");

    var constraints1 = new Array();
    var constraints2 = new Array();
    var constr       = '';
    var groupId      = '';
    var sqlLimit     = 100;

    if (constraints != null) {
        for (var i = 0; i < constraints.length; i++) {
            if (constraints[i].fieldName == "colleagueGroupPK.groupId") {

                groupId = constraints[i].initialValue;
                constraints1.push(DatasetFactory.createConstraint("colleagueGroupPK.groupId", groupId, groupId, ConstraintType.MUST));

            } else if (constraints[i].fieldName == "sqlLimit") {

                sqlLimit = constraints[i].initialValue;
                constraints1.push(DatasetFactory.createConstraint("sqlLimit", sqlLimit, sqlLimit, ConstraintType.MUST));

            } else {
                var fieldName    = constraints[i].fieldName;
                var initialValue = constraints[i].initialValue;

                constr = DatasetFactory.createConstraint(fieldName, initialValue + "%", initialValue + "%", ConstraintType.MUST);
                constr.setLikeSearch(true);
                //constraints2.push(DatasetFactory.createConstraint(fieldName, "%" + initialValue + "%", "%" + initialValue + "%", ConstraintType.SHOULD,true));

            }
        }
    }

    var newDataset = DatasetBuilder.newDataset();

    var datasetGroup = DatasetFactory.getDataset("colleagueGroup", null, constraints1, null);

    // Carrega as colunas do Dataset de Grupo
    for(var i = 0; i < datasetGroup.columnsName.length; i++) {
        newDataset.addColumn(datasetGroup.columnsName[i]);
    }

    for(var i = 0; i < datasetGroup.rowsCount; i++) {
        var companyId   = datasetGroup.getValue(i, "colleagueGroupPK.companyId");
        var colleagueId = datasetGroup.getValue(i, "colleagueGroupPK.colleagueId");
        var groupId     = datasetGroup.getValue(i, "colleagueGroupPK.groupId");

        var constraint = new Array();
        if (constr != '') {
            constraint.push(constr);
        }
        constraint.push(DatasetFactory.createConstraint("colleaguePK.colleagueId", colleagueId, colleagueId, ConstraintType.MUST));

        var datasetUser = DatasetFactory.getDataset("colleague", null, constraint, null);

        log.dir("#### datasetUser ####");
        log.dir(datasetUser);

        if (i == 0) {
            // Carrega as colunas do Dataset de Usuários
            for(var j = 0; j < datasetUser.columnsName.length; j++) {
                newDataset.addColumn(datasetUser.columnsName[j]);
            }
        }

        if (datasetUser.rowsCount > 0) {
            // Carrega os dados no Dataset
            var dados = new Array(companyId, colleagueId, groupId);
            if (datasetUser.values.length > 0) {
                for(var k = 3; k < newDataset.columnsName.length; k++) {
                    dados.push(datasetUser.getValue(0, newDataset.columnsName[k]));
                }
            }

            newDataset.addRow(dados);
        }

    }

    return newDataset
}

Parabéns,Excelente amigo, testei e só sucesso. Pensei que ele tivesse o conceito de Join, mas pelo que vi tem que unir os datasets e usar as constraints para isso.

Que bom que deu certo. Tmj… Abraço