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?
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.
— FLUIG MAN 27 de Feb de 2018Que bom que deu certo. Tmj... Abraço
— Gabriel Franco da Rocha Nascimento 27 de Feb de 2018