HTML:
<ejs-querybuilder width="80%" #constructorConsultas class="row" locale="sigaIdiomas" (created)="setRules2()" (actionBegin)="obtenerComboCampo($event)">
<e-columns>
<div *ngFor="let campo of configColumnasDTO.configColumnasQueryBuilderItem; let i = index">
<e-column *ngIf="campo.selectayuda == null && campo.tipocampo != 'date'" [field]="campo.idcampo" [label]="campo.nombreenconsulta" [type]="campo.tipocampo" [operators]="customOperators"></e-column>
<e-column *ngIf="campo.selectayuda == null && campo.tipocampo == 'date'" [field]="campo.idcampo" [label]="campo.nombreenconsulta" [type]="campo.tipocampo" [operators]="customOperators" format="dd/MM/yyyy"></e-column>
<e-column *ngIf="campo.selectayuda != null" [field]="campo.idcampo" [label]="campo.nombreenconsulta" [type]="campo.tipocampo">
<ng-template #ruleTemplate let-data>
<div class="e-rule e-rule-template">
<div class="e-rule-filter">
<ejs-dropdownlist (change)="fieldChange($event)" [fields]="data.fields" [dataSource]="data.columns" [value]="data.rule.field">
</ejs-dropdownlist>
</div>
<div class="e-rule-operator e-operator">
<ejs-radiobutton id="{{data.ruleID}}_operator1" label="Es igual" name='{{data.ruleID}}_operator' value='equal' (change)="operatorChange($event)" [checked]="(data.rule.operator == 'equal')"></ejs-radiobutton>
<ejs-radiobutton id="{{data.ruleID}}_operator2" label="Distinto" name='{{data.ruleID}}_operator' value='notequal' (change)="operatorChange($event)" [checked]="(data.rule.operator == 'notequal')"></ejs-radiobutton>
</div>
<div class="e-rule-value e-value e-custom-value">
<ejs-dropdownlist (change)="valueChange($event)" [fields]="fields" [dataSource]="listaCombosObject.get(campo.nombreenconsulta).combooItems" [value]="data.rule.value">
</ejs-dropdownlist>
</div>
<div class="e-rule-value-delete">
<button class="e-removerule e-custom-delete e-rule-delete e-css e-btn e-small e-round">
<span class="e-btn-icon e-icons e-delete-icon"></span>
</button>
</div>
</div>
</ng-template>
</e-column>
</div>
</e-columns>
</ejs-querybuilder>
TS:
setRules2(): void{
if(this.constructorConsultas != undefined){
/* this.constructorConsultas.setRules({
'condition':'and',
'rules': [{
"label": "TIPO COLEGIADO",
"field": "3000",
"operator": "equal",
"type": "string",
"value": "20"
},
{
"label": "RESIDENTE",
"field": "226",
"operator": "equal",
"type": "string",
"value": "0"
}
]}); */
this.constructorConsultas.setRulesFromSql("450 = 'hfhg'");
//this.constructorConsultas.setRulesFromSql("(TaskID = 1 and Status LIKE ('Assigned%')) and (TaskID = 1 and Status LIKE ('Assigned%'))");
console.log(this.constructorConsultas.getRules());
}
}
- Content of configColumnasDTO.configColumnasQueryBuilderItem:
- onfigColumnasQueryBuilderItem: [{tipocampo: "string", idcampo: "226", nombreenconsulta: "RESIDENTE",…},…]
- 0: {tipocampo: "string", idcampo: "226", nombreenconsulta: "RESIDENTE",…}
- 1: {tipocampo: "number", idcampo: "3407", nombreenconsulta: "AÑOS EJERCICIO NATURALES", selectayuda: null}
- 2: {tipocampo: "number", idcampo: "222", nombreenconsulta: "AÑOS COLEGIACION", selectayuda: null}
- 3: {tipocampo: "string", idcampo: "3000", nombreenconsulta: "TIPO COLEGIADO",…}
- 4: {tipocampo: "number", idcampo: "3002", nombreenconsulta: "AÑOS EJERCICIO", selectayuda: null}
- 5: {tipocampo: "number", idcampo: "3412", nombreenconsulta: "SEMESTRES COLEGIACION", selectayuda: null}
- 6: {tipocampo: "date", idcampo: "3037", nombreenconsulta: "FECHA INCORPORACION", selectayuda: null}
- 7: {tipocampo: "string", idcampo: "455", nombreenconsulta: "ESTADOCIVIL",…}
- 8: {tipocampo: "number", idcampo: "3410", nombreenconsulta: "AÑOS NATURALES DESDE F. JURA",…}
- 9: {tipocampo: "string", idcampo: "230", nombreenconsulta: "COMUNITARIO",…}
- 10: {tipocampo: "number", idcampo: "454", nombreenconsulta: "EDAD", selectayuda: null}
- 11: {tipocampo: "string", idcampo: "3004", nombreenconsulta: "TIPO DE SEGURO",…}
- 12: {tipocampo: "number", idcampo: "3408", nombreenconsulta: "AÑOS COLEGIACION NATURALES",…}
- 13: {tipocampo: "string", idcampo: "3003", nombreenconsulta: "GRUPO CLIENTE",…}
- 14: {tipocampo: "string", idcampo: "450", nombreenconsulta: "NIF/CIF", selectayuda: null}
- 15: {tipocampo: "string", idcampo: "217", nombreenconsulta: "SEXO",…}
- 16: {tipocampo: "number", idcampo: "3411", nombreenconsulta: "TRIMESTRES COLEGIACION", selectayuda: null}
- 17: {tipocampo: "number", idcampo: "3409", nombreenconsulta: "AÑOS DESDE FECHA DE JURA", selectayuda: null}
method setRulesFromSql doesnt work with that code however If I do a simple try like this:
div *ngFor="let campo of configColumnasDTO.configColumnasQueryBuilderItem; let i = index">
<e-column *ngIf="campo.selectayuda == null && campo.tipocampo != 'date'" field="dni" label="DNI" type="string" [operators]="customOperators"></e-column>
+
this.constructorConsultas.setRulesFromSql("dni = 'hfhg'");
changing field for dni instead using 450 in field attribute works, why doesnt work using campo.idcampo (450) and yes using dni value?
Besides when I used getSqlFromRules after doing the sql manually he gives me 450 = 'hfhg' but it doest work in setRulesFromSQl.
Thanks.