MoveTo

TemplateTableLayout.MoveTo method

Crea un nuovo layout con le stesse dimensioni, separatori e posizione nel filepoint .

public TemplateTableLayout MoveTo(Point point)
Parametro Tipo Descrizione
point Point La posizione del nuovo layout.

Valore di ritorno

Un nuovo layout con le stesse dimensioni, separatori e posizione nel filepoint.

Esempi

Questa funzionalità consente di spostare il layout della tabella.

Ad esempio, un documento ha tabelle su ogni pagina (o un insieme di documenti con una tabella sulla pagina). Queste tabelle differiscono per posizione e contenuto, ma hanno le stesse colonne e righe. In questo caso un utente può definire TemplateTableLayout oggetto a(0, 0) una volta e poi spostalo nella posizione della tabella definita.

Se la posizione della tabella dipende dall’altro oggetto della pagina, un utente può definirlaTemplateTableLayout oggetto basato sul documento modello e quindi spostarlo in base a un oggetto di ancoraggio. Ad esempio, se si tratta di una tabella di riepilogo e è seguita dalla tabella dei dettagli (che può contenere un numero diverso di righe). In questo caso un utente può definire TemplateTableLayoutoggetto sul documento modello (con il rettangolo della tabella dei dettagli noti) e quindi sposta TemplateTableLayout oggetto in base alla differenza dei dettagli della tabella rettangolo del modello e del documento reale.

MoveTo Il metodo restituisce una copia dell’oggetto corrente. Un utente può passare qualsiasi coordinata (anche negativa, quindi il layout verrà spostato a sinistra/in alto).

// Crea un layout di tabella
TemplateTableLayout layout = new TemplateTableLayout(
    new double[] { 0, 25, 150, 180, 230 },
    new double[] { 0, 15, 30, 45, 60, 75 });

// Stampa un rettangolo
Rectangle rect = layout.Rectangle;

// Stampa: pos: (0, 0) dimensione: (230, 75)
Console.WriteLine(string.Format("pos: ({0}, {1}) size: ({2}, {3})", rect.Left, rect.Top, rect.Size.Width, rect.Size.Height));

// Sposta il layout nella posizione definita della tabella
TemplateTableLayout movedLayout = layout.MoveTo(new Point(315, 250));

// Assicurati che i primi separatori vengano spostati:
Console.WriteLine(movedLayout.VerticalSeparators[0]); // stampe: 315
Console.WriteLine(movedLayout.HorizontalSeparators[0]); // stampe: 250

Rectangle movedRect = movedLayout.Rectangle;

// Stampe: pos: (315, 250) dimensioni: (230, 75)
Console.WriteLine(string.Format("pos: ({0}, {1}) size: ({2}, {3})", movedRect.Left, movedRect.Top, movedRect.Size.Width, movedRect.Size.Height));

// l'oggetto moveLayout è una copia dell'oggetto layout, quindi possiamo ottimizzare i separatori senza l'impatto sul layout originale:
movedLayout.HorizontalSeparators.Add(90);

Console.WriteLine(movedLayout.HorizontalSeparators.Count); // stampa: 7
Console.WriteLine(layout.HorizontalSeparators.Count); // stampe: 6

Guarda anche