Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Chcete-li získat větší kontrolu nad tím, jak tabulky fungují, přečtěte si, jak manipulovat se sloupci a řádky.
Sloupce, řádky a buňky jsou spravovány přístupem k vybranému uzlu dokumentu podle jeho indexu. Nalezení indexu libovolného uzlu zahrnuje shromáždění všech podřízených uzlů typu prvku z nadřazeného uzlu a poté pomocí metody IndexOf vyhledejte index požadovaného uzlu v kolekci.
Někdy možná budete muset provést změny v konkrétní tabulce v dokumentu. Chcete-li to provést, můžete odkazovat na tabulku podle jejího indexu.
Následující příklad kódu ukazuje, jak načíst index tabulky v dokumentu:
Podobně možná budete muset provést změny v konkrétním řádku ve vybrané tabulce. Chcete-li to provést, můžete také odkazovat na řádek podle jeho indexu.
Následující příklad kódu ukazuje, jak načíst index řádku v tabulce:
Nakonec možná budete muset provést změny v konkrétní buňce a můžete to provést také indexem buněk.
Následující příklad kódu ukazuje, jak načíst index buňky v řádku:
V modelu objektu Aspose.Words dokumentu (DOM) se uzel Table skládá z uzlů Row a poté uzlů Cell. V objektovém modelu Document Aspose.Words, stejně jako v dokumentech Word, tedy neexistuje koncept sloupce.
Podle návrhu jsou řádky tabulky v Microsoft Word a Aspose.Words zcela nezávislé a základní vlastnosti a operace jsou obsaženy pouze v řádcích a buňkách tabulky. To dává tabulkám možnost mít některé zajímavé atributy:
Jakékoli operace prováděné na sloupcích jsou ve skutečnosti “zkratky”, které provádějí operaci kolektivní změnou buněk řádků takovým způsobem, že to vypadá, že se aplikují na sloupce. To znamená, že můžete provádět operace se sloupci jednoduše iterací přes stejný index buněk řádku tabulky.
Následující příklad kódu zjednodušuje takové operace prokázáním třídy fasád, která shromažďuje buňky, které tvoří “sloupec” tabulky:
Následující příklad kódu ukazuje, jak vložit prázdný sloupec do tabulky:
Následující příklad kódu ukazuje, jak odebrat sloupec z tabulky v dokumentu:
Můžete se rozhodnout opakovat první řádek v tabulce jako řádek záhlaví pouze na první stránce nebo na každé stránce, pokud je tabulka rozdělena na několik. V Aspose.Words můžete opakovat řádek záhlaví na každé stránce pomocí vlastnosti HeadingFormat.
Můžete také označit více řádků záhlaví, pokud jsou tyto řádky umístěny jeden po druhém na začátku tabulky. Chcete-li to provést, musíte na tyto řádky použít vlastnosti HeadingFormat.
Následující příklad kódu ukazuje, jak vytvořit tabulku, která obsahuje řádky záhlaví, které se opakují na následujících stránkách:
Jsou chvíle, kdy by obsah tabulky neměl být rozdělen mezi stránky. Pokud je například název nad tabulkou, měl by být název a tabulka vždy drženy pohromadě na stejné stránce, aby byl zachován správný vzhled.
K dosažení této funkce jsou užitečné dvě samostatné techniky:
Allow row break across pages, který se použije na řádky tabulkyKeep with next, který se použije na odstavce v buňkách tabulkyVe výchozím nastavení jsou výše uvedené vlastnosti zakázány.
To zahrnuje omezení rozdělení obsahu uvnitř buněk řádku na stránku. V Microsoft Word to lze nalézt pod vlastnostmi tabulky jako možnost “Povolit zalomení řádku mezi stránkami”. V Aspose.Words se to nachází pod RowFormat objektem Row jako vlastnost RowFormat.AllowBreakAcrossPages.
Následující příklad kódu ukazuje, jak zakázat lámání řádků napříč stránkami pro každý řádek v tabulce:
Abychom zabránili rozdělení tabulky mezi stránky, musíme určit, že chceme, aby obsah obsažený v tabulce zůstal pohromadě.
Chcete-li to provést, Aspose.Words používá metodu, která umožňuje uživatelům vybrat tabulku a povolit parametr KeepWithNext na hodnotu true pro každý odstavec v buňkách tabulky. Výjimkou je poslední odstavec v tabulce, který by měl být nastaven na hodnotu false.
Následující příklad kódu ukazuje, jak nastavit tabulku tak, aby zůstala pohromadě na stejné stránce:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.