ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Controls, pages and windows / Word Processing functions
  • Handling a Table programmatically
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Inserts a table into a Word Processing control.
Example
// Insère un tableau à la position 1 de taille 3x3
TT_Tableau.InsèreTableau(1, 3, 3)
// Insère un tableau à la position du curseur de taille 3 colonnes et 2 lignes
TT_Tableau.InsèreTableau(TT_Tableau.Curseur, 3, 2)
Syntax
<Result> = <Word Processing control>.InsertTable(<Position> [, <Number of columns> [, <Number of rows>]])
<Result>: docFragment variable
docFragment variable with the inserted fragment.
<Word Processing control>: Control name
Name of the Word Processing control to use.
<Position>: Integer
Position where the table will be inserted. This position is expressed in number of characters.
<Number of columns>: Optional integer
Number of columns in the table. This parameters corresponds to 1 by default.
<Number of rows>: Optional integer
Number of rows in the table. This parameters corresponds to 1 by default.
Remarks

Handling a Table programmatically

A table in a Word Processing document can be handled by the WLanguage functions for managing arrays.
For example:
// Récupération du document
MonDocument is Document <- TT_ExempleTT
// Insère un tableau à la position 1 de taille 3x3
TT_ExempleTT.InsèreTableau(1, 3, 3)

// Définition d'un fragment correspondant au tableau
f is TT_ExempleTT.Valeur.Fragment(TT_ExempleTT.Curseur, 0)

let para <- f.Paragraphe[1]
IF para.Tableau = Null THEN
	RETURN
END

doc is Document <- TT_ExempleTT.Valeur

// Ajoute une ligne au tableau
nIndice is int = Add(para.Tableau.Lignes)

// Saisie dans la cellule 2,2
para.Tableau.Cellules[2,2].Contenu.Texte = "Je suis dans la cellule 2,2"

// Supprime la ligne 3
Delete(para.Tableau.Lignes, 3)

// Supprime la colonne 3
Delete(para.Tableau.Colonnes, 3)

// Supprime le tableau entier où se trouve le curseur
Delete(doc.Paragraph, para.IndiceParagraphe)
Example for creating a table in a document with the content of a Table control:
// Une fenêtre contient un champ Table par programmation nommé TABLE_Démo
// et un champ Traitement de texte nommé TT_Démo
// Le code suivant ajoute un tableau dans le champ Traitement de texte avec :
// - en première ligne du tableau, le titre des colonnes du champ Table,
// - le contenu du champ Table dans les lignes suivantes du tableau.

MonDoc is Document
cTable is Control <- TABLE_Démo
pCol is Control

FragmentDeb is MonDoc.docFragment(1)
FragmentDeb.Formatting.FontSize = 24
FragmentDeb.Formatting.TextColor = DarkRed
FragmentDeb.Text = "Tableau dans TTX avec " + cTable.Libellé + CR + CR

// Insertion du tableau dans le document en mémoire ...
MonDoc.DocInsèreTableau(20, TableCount(cTable, toColumn), cTable.Occurrence + 1)

FOR EACH para OF MonDoc.Paragraph
	IF para.Tableau <> Null THEN
		// Pour toutes les colonnes du champ Table ...
		FOR nColonne = 1 _TO_ TableCount(cTable, toColumn)

			// Première ligne du tableau contient le titre des colonnes
			pCol <- TableEnumColumn(cTable, nColonne)
			para.Tableau.Cellules[1, nColonne].Contenu.Texte = pCol.Libellé

			// Remplissage de toutes les lignes de cette colonne
			FOR nLigne = 1 _TO_ cTable.Occurrence
				para.Tableau.Cellules[nLigne+1, nColonne].Contenu.Texte = pCol[nLigne]
			END
		END
		BREAK
	END
END

// Document en mémoire affecté au champ Traitement de texte
TT_Démo = MonDoc
Component: wd300mdl.dll
Minimum version required
  • Version 23
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 09/24/2024

Send a report | Local help