Hello,
I am using the following JavaScript code:
fd.control('MySPDataTable').ready(function() {
query = '<Or>';
for (i = 0; i < fd.field('MyTaxonomyField').value.length; i++) {
query += '<Eq><FieldRef Name="MyTaxonomyField" /><Value Type="TaxonomyFieldTypeMulti">' + fd.field('MyTaxonomyField').value[i].name + '</Value></Eq>';
}
query += '</Or>';
fd.control('MySPDataTable').filter = query;
fd.control('MySPDataTable').refresh();
});
But I get the following errors:
Please anyone knows how to filter a "Data Table/List or Library" control by a taxonomy field?
Thank you,
Javier
I have found the solution myself.
In case someone needs to do the same, this is how to build the CAML query for "LookupMulti" and "TaxonomyFieldTypeMulti" fields:
<In>
<FieldRef Name="MyTaxonomyField" />
<Values>
<Value Type="Text">Batman</Value>
<Value Type="Text">Superman</Value>
</Values>
</In>
And this is the JavaScript code that has worked:
fd.control('MySPDataTable').ready(function() {
query = '<In>';
query += '<FieldRef Name="MyTaxonomyField" />';
query += '<Values>';
for (i = 0; i < fd.field('MyTaxonomyField').value.length; i++) {
query += '<Value Type="Text">' + fd.field('MyTaxonomyField').value[i].name + '</Value>';
}
query += '</Values>';
query += '</In>';
fd.control('MySPDataTable').filter = query;
fd.control('MySPDataTable').refresh();
});
Javier
1 Like