PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Manejo de una tabla por programación
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Inserta un tabla en un documento de Procesamiento de Textos y reemplaza el fragmento especificado con un nuevo tabla..
Atención: Esta documentación presenta las últimas características de la control Procesador de texto. Asegúrese de que todos los módulos necesarios estén actualizados.
Ejemplo
// Inserts a 3x3 table at position 1
DocInsertTable(WP_Table, 1, 3, 3)
// Inserts a table containing 3 columns and 2 rows at cursor position
DocInsertTable(WP_Table, WP_Table..Cursor, 3, 2)
Sintaxis

Insertar una tabla en un documento de Word Processing Ocultar los detalles

<Result> = Tabla DocInsert(<Documento> , <Position> [, <Number of columns> [, <Number of rows>]])
<Result>: docFragment variable
Versiones 24 y posteriores
Variable docFragment con el fragmento insertado.
Nueva funcionalidad versión 24
Variable docFragment con el fragmento insertado.
Variable docFragment con el fragmento insertado.
<Documento>: Variable del documento o cadena de caracteres (con o sin comillas)
Documento a utilizar. Este documento corresponde a:
  • WINDEV el nombre de un control Procesador de texto.
  • una variable de tipo Documento.
<Position>: Integro
La posición donde se insertará la tabla. Esta posición se expresa en número de caracteres.
<Number of columns>: Entero opcional
Número de columnas en la tabla. De forma predeterminada, este parámetro corresponde a 1.
<Number of rows>: Entero opcional
Número de filas en la tabla. Este parámetro corresponde a 1 por defecto.

Reemplazando el fragmento existente por una nueva tabla Ocultar los detalles

<Result> = Tabla DocInsert(<Fragment> [, <Number of columns> [, <Number of rows>]])
<Result>: docFragment variable
Versiones 24 y posteriores
La variable docFragment con el fragmento insertado.
Nueva funcionalidad versión 24
La variable docFragment con el fragmento insertado.
La variable docFragment con el fragmento insertado.
<Fragment>: docFragment variable
Nombre de la variable docFragment correspondiente al fragmento a utilizar. El contenido actual del fragmento será reemplazado por el tabla.
<Number of columns>: Entero opcional
Número de columnas en la tabla. De forma predeterminada, este parámetro corresponde a 1.
<Number of rows>: Entero opcional
Número de filas en la tabla. Este parámetro corresponde a 1 por defecto.
Observaciones

Manejo de una tabla por programación

Un tabla en un documento de Procesamiento de Textos puede ser manejado por las funciones de WLanguage para administrar arrays.
Por ejemplo:
Ejemplo:
// Inserts a 3x3 table at position 1
DocInsertTable(WP_ExampleWP, 1, 3, 3)
 
// Define a fragment corresponding to the table
f is docFragment(WP_ExampleWP..Value, WP_ExampleWP..Cursor, 0)
 
let para <- f..Paragraph[1]
IF para..Table = Null THEN
RETURN
END
 
doc is Document <- WP_ExampleWP..Value
 
// Adds a row to the table
nSubscript is int = Add(para..Table..Rows)
 
// Input in cell 2,2
para..Table..Cells[2,2]..Content..Text = "I'm in cell 2,2"
 
// Deletes row 3
Delete(para..Table..Rows, 3)
 
// Deletes column 3
Delete(para..Table..Columns, 3)
 
// Deletes the entire table where the cursor is positioned
Delete(doc..Paragraph, para..ParagraphIndex)
Ejemplo de creación de un tabla en un documento con el contenido de un control Tabla:
// A window contains a memory Table control named TABLE_Demo
// and a Word Processing control named WP_Demo
// The following code adds a table into the Word Processing control with:
// - in first table row, the title of columns found in the Table control,
// - the content of Table control in the other table rows.
 
MyDoc is Document
cTable is Control <- TABLE_Demo
pCol is Control
 
FragmentStart is docFragment(MyDoc,1)
FragmentStart..Formatting..FontSize = 24
FragmentStart..Formatting..TextColor = DarkRed
FragmentStart..Text = "Table in WP with " + cTable..Caption + CR + CR
 
// Insert the table into the document in memory ...
DocInsertTable(MyDoc, 20, TableCount(cTable, toColumn), cTable..Occurrence + 1)
 
FOR EACH para OF MyDoc..Paragraph
IF para..Table <> Null THEN
// For all columns of table control ...
FOR nColumn = 1 _TO_ TableCount(cTable, toColumn)
 
// First tab le line containing the title of columns
pCol <- TableEnumColumn(cTable, nColumn)
para..Table..Cells[1, nColumn]..Content..Text = pCol..Caption
 
// Fill all rows of this column
FOR nRow = 1 _TO_ cTable..Occurrence
para..Table..Cells[nRow+1, nColumn]..Content..Text = pCol[nRow]
END
END
BREAK
END
END
 
// Document in memory assigned to the Word Processing control
WP_Demo = MyDoc
Componente : wd250mdl.dll
Versión mínima requerida
  • Versión 22
Esta página también está disponible para…
Comentarios
using the DocInsertTable
1) you must add at least 2 lines in the docinserttable

DOC is document <- edt_doc // edt_doc is the document control

// inserts a document at position w 2 lines.
Frag is docFragment = DocInsertTable(doc,position,1,2)

now we look at the fragment for the lines we just added.. the table will usually NOT be in the first paragraph of the fragment so you must loop till you find it.

for each pTable of Frag..Paragraph
if pTable = Null then continue
for each string aString,tndx of arrString separated by CR
indx = add(ptable..table..Rows)
ptable..table..cells[indx,1)..content..text = aString
END
//remove the top 2 blank lines
delete(ptable..table..Rows,1)
delete(ptable..table..Rows,1)
//once 1st line deleted line 2 becomes line 1 so you delete again

Andy <<Cowboy>>Stapleton
andy@wxperts.com



Howard Stapleton
19 08 2019