Почему для поиска в меню SharePoint требуется двойной щелчок, чтобы выбрать элемент? - PullRequest
2 голосов
/ 28 января 2010

У меня есть функция SharePoint, которая программно создает 3 поиска в пользовательском списке, по одному из каждого из 3 различных списков с помощью чрезвычайно похожей разметки CAML.

Единственными отличиями в CAML являются свойства List, ID, Name, DisplayName и StaticName, но один из этих поисков выглядит немного иначе (имеет немного более «современную» стрелку раскрывающегося списка), чем два других и это же меню требует, чтобы я дважды щелкнул, чтобы выбрать элемент, вместо того, чтобы щелкать один раз, как это делается с другими поисками.

Может, кто-нибудь видел это раньше и имел представление о том, на что я мог бы обратить внимание, чтобы этот поиск работал как меню одним щелчком мыши?

Ответы [ 3 ]

3 голосов
/ 05 февраля 2010

Стиль отображаемого выпадающего меню обычно связан с количеством элементов, хотя он также отображается как стандартный элемент select при просмотре в Firefox.

Для любого другого типа поля имеет смысл создать пользовательский элемент управления полем, но из-за кода, который ожидает, что вещи будут называться «Lookup», поля поиска почти невозможно расширить.

Лучший способ настроить определенное поле, вероятно, с помощью javascript / jquery. Когда вы нажимаете на стрелку выпадающего меню, вызывается ShowDropdown (в core.js). Это создает элемент select с параметрами, установленными в списке с разделителями трубы в атрибуте choices текстового поля.

Добавьте некоторый код на страницу, чтобы при загрузке вызывались EnsureSelect и FilterChoice или аналогичные для создания элемента select. Установите свойства для текстового поля и выберите элементы, чтобы текстовое поле было скрытым, а элемент выбора - видимым выпадающим списком. Вызывайте SetCtrlFromOpt при изменении, а не по размытию / двойному щелчку, чтобы правильно обновлять элемент управления, который будет читать и сохранять сервер.

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

1 голос
/ 04 февраля 2010

Сколько элементов имеет список источников для каждого поля поиска?

В полях поиска отображается «Комбо», когда в исходном списке 10 элементов (я не уверен, что 10 элементов - это точное ограничение). Если в исходном списке более 10 элементов, в поле поиска отображается элемент управления «ListArea», который работает, как вы сказали.

0 голосов
/ 03 февраля 2010

У меня точно такая же проблема. Одно замечание, которое я заметил, состоит в том, что одно поле списка, которое требует двойного щелчка, является полем поиска, тогда как то, что не является полем выбора с предварительно заполненными вариантами. Не знаю, поможет ли это.

...