Available only in PRO Edition
In order to set a value for Query Builder, you can use the setValue method. This method allows setting rules and fields for filtering, as well as defining the logic of the rules usage.
You need to pass an object with the following properties to the setValue method:
$$("querybuilder1").setValue({
query:{
glue: "or",
rules: [
{
key: "fname",
value: "Alex",
rule: "equal"
},
{
glue: "and",
rules: [
{
key: "age",
value: 90,
rule: "less"
},
{
key: "age",
value: 10,
rule: "greater"
}
]
}
]
},
fields:[
{ id:"fname", value:"First Name", type:"string" },
{ id:"lname", value:"Last Name", type:"string" }
]
});
You do not have to set all properties at once. You can specify only the rules with or without glue:
// setting only the rules object
$$("querybuilder").setValue({
glue:"and",
rules:[
{ key:"fname", value:"Alex", rule:"equal" },
{
glue:"or",
rules:[
{ key:"age", value:90, rule:"less" },
{ key:"age", value:10, rule:"greater" }
]
}
]
});
or only the fields array:
// setting only the fields array
$$("querybuilder").setValue({
fields:[
{ id:"fname", value:"First Name", type:"string" },
{ id:"lname", value:"Last Name", type:"string" }
]
});
Related sample: Querybuilder initialization
You can get the value of the Query Builder via the getValue method.
var value = $$("querybuilder1").getValue();
The method returns the object with rules used for filtering. For example:
{
glue:"and",
rules:[
{ key:"fname", value:"Alex", rule:"equal" },
{
glue:"or",
rules:[
{ key:"age", value:90, rule:"less" },
{ key:"age", value:10, rule:"greater" }
]
}
]
}
After you get the value set for the widget, you can convert it into the data format required by your server side.
Related sample: Querybuilder initialization
Back to top