Поиск описаний URL в веб-части просмотра списка A-Z - PullRequest
0 голосов
/ 11 июня 2019

Я новичок в Sharepoint, будьте осторожны: -)

У меня есть список Sharepoint 2010 A-Z с несколькими столбцами, важным для этого вопроса является столбец URL с около 600 гиперссылками. Каждая из гиперссылок имеет осмысленное отображение описания, а не сам URL-адрес.

На одной из страниц моего сайта у меня есть веб-часть для просмотра списка A-Z, связанная с этим списком. Я настроил его так, чтобы одновременно отображалось только 30 записей из списка.

Что мне нужно сделать, так это предоставить пользователям способ поиска по всем 600 URL-адресам, чтобы найти то, что они ищут. Например, если они ввели в текстовое поле «Входящие документы», результаты должны возвращать любой URL, для которого в описании есть «входящий документ», т. Е. Поиск должен быть без учета регистра.

Я нашел некоторый код, который я добавил в веб-часть формы HTML на «странице поиска», которая создает поле поиска и должна возвращать список результатов поиска на той же странице, но, к сожалению, он работает только с отдельными ключевыми словами. Если я наберу "onboarding", это работает. Если я набираю «входящие документы», он ничего не возвращает.

Сначала поиск просматривал столбец URL и ничего не возвращал ни при каких условиях поиска.

Затем я попытался создать дополнительный столбец «NotesTest» в списке A-Z, который представляет собой столбец типа «одна строка текста», который содержит текстовые версии описаний гиперссылок. Затем я настроил код, чтобы вместо этого указать поиск в столбце NotesTest. Это дает возврат по поисковым словам, состоящим из одного слова, но ничего, кроме одного слова.

Код, который я имею в веб-части html-формы, выглядит следующим образом:

function RedirectUrl() {
	var tb = document.getElementById("tbSearch").value;
	var cs = document.getElementById("sfield").value;
	var url = "";

	if (tb != "") {
		if (cs == "NotesTest") {
			url = "FilterField1=" + cs + "&FilterValue1=" + tb;
			window.location.href = "Test-3-SV.aspx?" + url;
		} else {
			url = "FilterName=" + cs + "&FilterMultiValue=*" + tb + "*";
			window.location.href = "Test-3-SV.aspx?" + url;
		}
	} else {
		return false;
	}
}

function ClearUrl() {
	window.location.href = "Test-3-SV.aspx?";
}
Search Field: <select id="sfield"> <option value="URL">URL</option> </select>
Search text: <input id="tbSearch" type="text"/>
<input id="btnSearch" onclick="return RedirectUrl();" type="button" value="Search"/>
<input id="btnClear" onclick="return ClearUrl();" type="button" value="Clear"/>

Вот пример записей в столбце URL:

  • «Добавление товара»
  • «Добавление проспекта»
  • «Добавление временного овердрафта»
  • «Добавление овердрафта»
  • «Добавление другого дохода»
  • «Добавление реляционной подготовки»

То, что я ожидал увидеть при поиске "добавление" - это возвращение всех 6 ссылок. Если бы я искал "добавление", я бы ожидал увидеть первые три ссылки. И если бы я искал "добавление обучения", я бы ожидал увидеть только шестую возвращенную ссылку.

В настоящее время, если я ищу "добавление", возвращаются все 6 ссылок. Но если я добавлю дополнительные слова и пробелы в поле поиска, я просто получу сообщение

"Нет элементов, которые можно отобразить в этом представлении списка" A-Z ". Чтобы добавить новый элемент, нажмите" Новый ".".

1 Ответ

0 голосов
/ 11 июня 2019

Привет, я не уверен, правильно ли я изобразил это, как я понимаю.

У вас есть какая-то веб-часть списка и какой-то жестко запрограммированный текст ввода.

Если яесли бы вы вместо:

<input id="tbSearch" type="text"/>

Я бы имел фильтр веб-части типа текстового поиска.Затем я отправляю параметры веб-части фильтра в веб-часть списка с помощью соединения.

Выбор также не требуется, поскольку это другой тип фильтра выбора вызова веб-части фильтра.

Хотя немного старые часы Выбор видео веб-части это также должно помочь для текстового веб-фильтра, так как он похож.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...