Pergunta

Eu tenho três conectado ListView web parts em uma página de aplicativo, e eu quero ser capaz de acessar o item que está selecionado em cada web part.Isso não é selecionado como em "caixas", mas, sim, ligado item que está passando o valor do filtro para a próxima parte da web.Eu tentei

myWebPart.Connections // empty
myWebPart.FilterValue // null
myWebPart.ConnectionID // null

e praticamente todos os outros bens da minha web part.Não existe uma forma de obter o ID do item que está sendo conectado?

Foi útil?

Solução

Eu criei três peças web ligados entre si e que podem ser filtradas usando-Título:SharePoint online webpart connections

Escolha uma cor -> Escolha uma fruta -> modo de Exibição de frutas detalhes.

Eu criei o seguinte seletor (jQuery):

$('img[alt="Selected"]').parent().next().children('div.ms-vb');

Retorna uma matriz de elementos selecionados que ter um atributo ID.Em seguida, você pode fazer uma simples cada um e faça o trabalho que você deseja com cada ID.

$('img[alt="Selected"]').parent().next().children('div.ms-vb').each(function(i){
   console.log($(this).attr('id'));
});
// will give you:
// 3 (Blue)
// 2 (Blueberry)

Mostra como este no Chrome console:

SharePoint selector to find currently filtered items

Eu acho que isso vai funcionar, desde que você use o Título (vinculado ao item) coluna na web parts.

Outras dicas

Se você usar JSLink em vez disso, eu acho que você pode ligar para os itens do ListView Web Part como este:

  1. Em um local de sua escolha (como SiteAssets biblioteca de seu site, ou em _catalogs/masterpage), criar novo ficheiro de JavaScript.
  2. No arquivo, adicione o código abaixo
  3. Em seu web part, fazer referência a esse arquivo JavaScript no JSLink, como ~/site/SiteAssets/news_ui.js
(function () {
 // Initialize the variables for overrides objects
 var overrideCtx = {};
 overrideCtx.Templates = {};

 overrideCtx.Templates.Fields = {
 'ID': { 'ItemID' : ctx.CurrentItem.ID } 
 };

 SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx);
 })();

Referência:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top