我有一个 SharePoint 功能,它以编程方式在自定义列表中创建 3 个查找,通过极其相似的 CAML 标记从 3 个不同列表中的每个列表中创建一个。
CAML 中的唯一区别是 List、ID、Name、DisplayName 和 StaticName 属性,但其中一个查找看起来与其他两个稍有不同(有一个更“现代”的下拉箭头),而且这个相同的菜单需要我加倍-单击以选择一个项目,而不是像我在其他查找中那样单击。
可能有人以前见过这个并且知道我可能会研究什么以使此查找作为单击菜单运行吗?
我有一个 SharePoint 功能,它以编程方式在自定义列表中创建 3 个查找,通过极其相似的 CAML 标记从 3 个不同列表中的每个列表中创建一个。
CAML 中的唯一区别是 List、ID、Name、DisplayName 和 StaticName 属性,但其中一个查找看起来与其他两个稍有不同(有一个更“现代”的下拉箭头),而且这个相同的菜单需要我加倍-单击以选择一个项目,而不是像我在其他查找中那样单击。
可能有人以前见过这个并且知道我可能会研究什么以使此查找作为单击菜单运行吗?
显示的下拉菜单的样式通常与项目数有关,尽管在 Firefox 中查看时它也呈现为标准选择元素。
对于任何其他字段类型,创建自定义字段控件是有意义的,但由于代码要求将事物命名为“查找”,查找字段几乎无法扩展。
自定义特定字段的最佳方式可能是使用 javascript/jquery。当您单击下拉箭头时,会调用 ShowDropdown(在 core.js 中)。这将创建一个 select 元素,其中包含从文本框的选择属性中的管道分隔列表中设置的选项。
向页面添加一些代码,以便在加载时调用 EnsureSelect 和 FilterChoice 或类似方法来创建选择元素。在文本框上设置属性并选择元素,以便隐藏文本框并且选择元素是可见的下拉菜单。让 SetCtrlFromOpt 在更改而不是模糊/双击时调用,以便服务器将读取和保存的控件正确更新。
可以使用相同的方法来保留组合框,但添加一个单击事件来设置值,而不是需要双击。
每个查找字段的源列表有多少项?
当源列表有 10 个项目时,查找字段显示“组合”(我不确定 10 个项目是否是确切的限制)。当源列表中的项目超过 10 项时,查找字段会显示一个“ListArea”控件,如您所说的那样工作。
我有完全一样的问题。我注意到的一个区别是,需要双击的一个列表框是查找字段,而不需要双击的列表框是具有预填充选项的选项字段。不知道这是否有帮助。