Související položky

Podmřížka souvisejících položek z jiného seznamu, propojená přes cizí klíč.

Popis widgetu relatedItems

Widget zobrazí v tabulce položky z jiného seznamu, které patří k aktuální položce (vztah 1:N): například úkoly projektu nebo řádky objednávky. Propojení určuje cizí klíč, tedy sloupec v cílovém seznamu, jehož hodnota se rovná klíči aktuální položky. Je to virtuální widget: data zůstávají v cílovém seznamu a do aktuální položky se nic neukládá. Podobný widget pro soubory je Související dokumenty.

Nastavení widgetu Související položky v inspektoru: cílový seznam, zdrojový klíč, vazební sloupec a zobrazené sloupce

Přidání do formuláře

  1. Na kartě Widgety v levé paletě vyberte Související položky (podtitul „Widget · 1:N záznamy“) a přetáhněte ho do sekce, nebo klikněte na „+“.
  2. V inspektoru zvolte Cílový seznam. Nabízejí se seznamy webu (běžné seznamy, ne knihovny).
  3. Zvolte Vazební sloupec v cílovém seznamu (cizí klíč).
  4. Zaškrtněte Zobrazené sloupce v tabulce a podle potřeby je přejmenujte.

Dokud není vybrán seznam a vazební sloupec, widget ve formuláři zobrazí „Widget není plně nakonfigurován“.

Nastavení v inspektoru

VolbaVlastnostVýznamVýchozí
Cílový seznamtargetListId, targetListTitleSeznam, ze kterého se čtou položky. Změna seznamu vynuluje vazební sloupec, zobrazené sloupce, odkaz a řazení.nevybráno
Zdrojový klíč v tomto formulářisourceKeyField@itemId (ID aktuální položky) nebo interní název pole formuláře, jehož hodnota se hledá v cizím klíči. Viz Klíč a cizí klíč.@itemId
Vazební sloupec v cílovém seznamuforeignKeyFieldSloupec cílového seznamu, podle kterého se filtruje.nevybráno
Zobrazené sloupce v tabulceviewFieldsSloupce tabulky. Blok Dostupné sloupce (s vyhledáváním) slouží k zaškrtnutí, sloupec se přidá na konec. Blok Zobrazené sloupce má v každém řádku pořadí (přetažení myší nebo šipky), vlastní název (columnLabels), formát buněk a křížek pro odebrání. Poslední sloupec nelze odebrat.["Title"]
Sloupec s odkazem na detail položkylinkToItemFieldKterý ze zobrazených sloupců je odkaz. Kliknutí otevře detail položky v dialogu. Bez odkazu je jen text.bez odkazu
Výchozí řazení v tabulcedefaultSortField, defaultSortDirectionSloupec a směr (asc vzestupně A-Z, desc sestupně Z-A) při otevření.bez řazení, asc
Povolit rychlé vyhledávání / filtr v tabulceenableSearchZobrazí nad tabulkou pole „Filtrovat položky…“.ano
Povolit tlačítko „+ Nová položka“allowAddNewPřidá do záhlaví tlačítko Nová položka.ne
Vlastní popisekcustomLabelTitulek widgetu. Když chybí, použije se název cílového seznamu, jinak „Související položky“.„Související položky“
Šířka v sekci, Viditelné, Jen pro čtenícolSpan, defaultVisible, defaultReadOnlySpolečné volby. Jen pro čtení skryje tlačítko Nová položka.12, ano, ne

Zobrazené sloupce typu Osoba a Vyhledávání (i vícehodnotové), které zadáte v konfiguraci ručně nebo přes AI, widget načte přes $expand a ukáže jejich text (jméno osoby, hodnotu vyhledávání, u více hodnot oddělené čárkou). Dřív takový sloupec skončil chybou HTTP 400. Auditní sloupce (Vytvořil, Změnil, Vytvořeno, Změněno, ID, Přílohy) jsou v nabídce na konci pod oddělovačem „Systémové sloupce“.

Nabídka zobrazených sloupců obsahuje sloupce typu text, výběr, číslo, vyhledávání (i vícehodnotové), osoba (i vícehodnotová), datum, ano/ne a počítadlo; technické a skryté sloupce se nenabízejí a za názvem je uveden typ sloupce. Nabídka vazebního sloupce zůstává omezená na výchozí sadu sloupců. Počet načtených řádků (rowLimit, 1 až 100, nový widget má 25) nastavuje v inspektoru v poli „Maximální počet záznamů“ (hodnota se ořízne na rozsah 1 až 100).

Vizuální formát sloupců

Ve velkém konfiguračním okně widgetu (záložka Sloupce) lze v bloku Zobrazené sloupce zvolit u každého sloupce Formát přímo v jeho řádku (šipka na konci řádku rozbalí podrobnosti, najednou je rozbalený jeden řádek). Nastavení se ukládá do columnFormatting podle interního názvu sloupce. Bez formátu, nebo když hodnota formátu nevyhovuje (například text v ukazateli), se zobrazí prostý text. Výsledek uvidíte v náhledu dole v okně: zobrazí se tlačítkem Zobrazit náhled a po dalších úpravách ho aktualizujete tlačítkem Obnovit náhled (dokud to neuděláte, upozorní, že neodpovídá posledním změnám).

FormátMožnostiChování
badge ŠtítekbadgeOptions (hodnota, barva, ikona), defaultColorBarevný štítek s viditelným textem. Řádky hodnot se předvyplní z voleb sloupce, jinak je lze přidat ručně. Vícehodnotové volby dají sadu štítků. Barvy jsou jen pojmenované (modrá, zelená, žlutá, červená, motiv, šedá), bez vlastních HEX.
progressBar Ukazatelmax, maxField, showValue, unit, colorVodorovný ukazatel s číslem a jednotkou. Maximum je sloupec stejného řádku (maxField), jinak pevné max, jinak 100.
dateAlert TermínhighlightPastDue (výchozí ano), daysAheadWarning, statusField + neutralIfStatusInProšlý termín je červený a má text „Po termínu“, blížící se termín žlutý s textem „Brzy vyprší“. Když je stav řádku v seznamu neutrálních stavů, varování se nezobrazí. Dnešek se porovnává podle kalendářního dne bez posunu o časové pásmo.
persona OsobashowEmailActionJméno s avatarem z iniciál (bez fotografie) a volitelný odkaz mailto: na e-mail osoby.

Sloupce použité jako maxField nebo statusField se načtou i tehdy, když se v tabulce nezobrazují.

Filtr souvisejících položek

Na záložce Filtr velkého konfiguračního okna můžete k vazbě na položku přidat další podmínky, například zobrazit jen aktivní nebo jen vaše položky.

Expertní režim: přepínač Přímý OData výraz zobrazí textové pole pro vlastní OData fragment (například Stav eq 'Hotovo'). Spojí se přes AND s vizuálním filtrem i vazbou na položku. Určeno jen pro návrháře; výraz se nekontroluje, nevkládejte do něj hodnoty zadané uživateli.

U seznamů s více než 5 000 položkami musí být indexované i sloupce použité ve filtru, jinak SharePoint dotaz odmítne (viz níže).

Klíč a cizí klíč

Widget hledá v cílovém seznamu položky, kde vazební sloupec = hodnota zdrojového klíče. Zdrojový klíč je buď ID aktuální položky (@itemId, obvyklé), nebo hodnota jiného pole formuláře (například Zakazka, pak nemusí být položka uložená). Typ vazebního sloupce widget pozná sám a sestaví správný filtr:

Typ vazebního sloupcePorovnání
Vyhledávání (Lookup), také vícenásobné, osobapodle ID vybrané položky (SloupecId = n)
Číslo, Počítadlo, Celé číslo, Měnačíselná rovnost (Sloupec = n)
Text, Výběrtextová rovnost (Sloupec = 'n')
Nerozpoznaný typzkusí postupně všechny tři způsoby

Hodnota klíče z pole typu vyhledávání, osoba nebo metadata se převede na ID (u osoby a vyhledávání) nebo na identifikátor termu. Při klíči ID se filtruje přímo podle ID.

Neindexovaný vazební sloupec (limit 5 000 položek)

SharePoint odmítne filtrovat seznam s více než 5 000 položkami podle sloupce, který není indexovaný (List View Threshold). Widget tomu předchází:

Varování v inspektoru „Sloupec … není indexovaný“ s tlačítkem Zaindexovat sloupec pod výběrem vazebního sloupce

U velkých seznamů zaindexujte vazební sloupec předem (Nastavení seznamu, Indexované sloupce), nebo použijte tlačítko v návrháři.

Chování za běhu

Widget ve formuláři v režimu Úprava: záhlaví s počtem a tlačítky, filtr, tabulka s přejmenovanými sloupci, odkaz v prvním sloupci a šipka řazení
Widget v režimu Nový s informací „Související záznamy budou dostupné po prvním uložení položky“

Překlady textů

Titulek (customLabel) a popisky sloupců (columnLabels, klíčem je interní název sloupce) se překládají. Pevné texty widgetu (filtr, tlačítka, hlášky) se přepínají podle jazyka formuláře samy. Viz Překlady a vícejazyčnost.

Pravidla a skripty

Příklad konfigurace (JSON)

{
  "internalName": "widget_related_ukoly",
  "customLabel": "Úkoly projektu",
  "fieldType": "relatedItems",
  "colSpan": 12,
  "defaultVisible": true,
  "relatedItemsConfig": {
    "targetListId": "00000000-0000-0000-0000-000000000000",
    "targetListTitle": "Úkoly",
    "foreignKeyField": "Projekt",
    "sourceKeyField": "@itemId",
    "viewFields": ["Title", "Stav", "Termin"],
    "columnLabels": { "Title": "Úkol", "Stav": "Stav", "Termin": "Termín" },
    "linkToItemField": "Title",
    "defaultSortField": "Termin",
    "defaultSortDirection": "asc",
    "enableSearch": true,
    "rowLimit": 25,
    "allowAddNew": true
  }
}

Do targetListId patří identifikátor seznamu (GUID). V návrháři ho vyberete ze seznamu, ručně ho dosazujte jen při psaní JSON.

Omezení a tipy