Mi primer post en el foro, intentaré explicarme correctamente.
Mi versión de OpenOffice es 4.1.1 en Windows 8.1 Pro x64
He insertado un grid en un diálogo (writer), que creo mediante código de la forma siguiente:
Código: Seleccionar todo
' Inicializar
Dim oPage1 As Object
Dim oCol1 As Object
Dim oCol2 As Object
Dim oColModel As Object
gridFicheros = FormModel.createInstance ( "com.sun.star.awt.grid.UnoControlGridModel" )
gridFicheros.setPropertyValues ( Array ( "Height", "PositionX", "PositionY", "Width" ), _
Array ( 62, 4, 126, 369 ) )
FormModel.insertByName ( "grdFicheros", gridFicheros )
gridFicheros.Name = "grdFicheros"
gridFicheros.ShowColumnHeader = True
gridFicheros.ShowRowHeader = True
gridFicheros.HScroll = False
gridFicheros.VScroll = False
oCol1 = CreateUnoService ( "com.sun.star.awt.grid.GridColumn" )
oCol1.Title = "TIPO"
oCol1.MaxWidth = 31
oCol1.MinWidth = oCol1.MaxWidth -1
oCol1.HorizontalAlign = com.sun.star.style.HorizontalAlignment.LEFT
oCol2 = CreateUnoService ( "com.sun.star.awt.grid.GridColumn" )
oCol2.Title = "PATH"
oCol2.MaxWidth = 327
oCol2.MinWidth = oCol2.MaxWidth -1
oCol2.HorizontalAlign = com.sun.star.style.HorizontalAlignment.LEFT
oColModel = CreateUnoService ( "com.sun.star.awt.grid.DefaultGridColumnModel" )
oColModel.addColumn ( oCol1 )
oColModel.addColumn ( oCol2 )
gridFicheros.ColumnModel = oColModel
' Rellenar celdas
Dim oDataModel As Object
oDataModel = CreateUnoService ( "com.sun.star.awt.grid.DefaultGridDataModel" )
oDataModel.addRow ( "1", Array ( "Informe", PathFicheroOdt ) )
oDataModel.addRow ( "2", Array ( "Informe", PathFicheroPdf ) )
oDataModel.addRow ( "3", Array ( "Certificado", PathFicheroOdt ) )
gridFicheros.GridDataModel = oDataModel
Mi pregunta es, ¿se puede actualizar el contenido de una celda en el grid? He buscado bastante pero no encuentro la forma. Si que puedo acceder al contenido de las celdas usando (gridFicheros.GridDataModel.getRowData (0...N)), pero no modificar su contenido.
Gracias desde ya por la ayuda. Gran foro, se aprende bastante por aquí