У меня этот код, который принимает часть названия для выполнения запроса и фильтрующую часть содержимого списка:CAML запрос содержит не работает
<script type="text/javascript">
var items_lista;
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', Initialize);
function Initialize() {
var PDP_Link_Filter = $("title").text().split("-")[1].split(".")[0];
PDP_Link_Filter = "Link_" + PDP_Link_Filter + "_";
var contexto = SP.ClientContext.get_current();
var web = contexto.get_web();
var listas = web.get_lists();
var parametros = listas.getByTitle('Parametrizacion_WF');
var query = new SP.CamlQuery();
query.set_viewXml("<Query><Where><Contains><FieldRef Name='Title'/>" +
"<Value Type='Text'>" + PDP_Link_Filter + "</Value></Contains></Where></Query>");
console.log(query);
items_lista = parametros.getItems(query);
contexto.load(items_lista);
contexto.executeQueryAsync(Function.createDelegate(this, this.onRequestSucceeded), Function.createDelegate(this, this.onRequestFailed));
} //Initialize
function onRequestSucceeded()
{
console.log(items_lista);
for(i = 0; i < items_lista.get_count(); i++)
{
console.log(items_lista.get_item(i).get_item('Title'));
}
}
function onRequestFailed() { console.log('Error'); }
</script>
Фильтр запроса, который он генерирует (полученные через console.log()):
<Query><Where><Contains><FieldRef Name='Title'/><Value Type='Text'>P000</Value></Contains></Where></Query>
Но когда цикл работает он показывает все содержимое списка не только строки, которые соответствуют фильтр.
Что я делаю неправильно?
Я приложил его, как вы предлагаете, но теперь запрос не возвращает никаких данных. Правильно ли я делаю подобный запрос? Я хочу сделать все элементы, имеющие название, такое как P000. Я пробовал даже с «% P000%», но не работает ни – ADPX
Извините, моя ошибка. Фильтр запросов был неправильным, мне нужна настройка trim(). С вашим решением работает отлично. Спасибо! – ADPX