Tabla Dinamica - DataPilot en PowerBuilder

Discute sobre la aplicación de hojas de cálculo
lspiri
Mensajes: 1
Registrado: Vie Abr 23, 2010 11:38 pm

Tabla Dinamica - DataPilot en PowerBuilder

Mensaje por lspiri »

Estimados

Quisiera saber si alguien sabe generar un tabla dinamica (DATAPILOT) en el archivo ODS utilizando POWERBUILDER
Yo avance hasta crear la tabla con el rango de celdas a utilizar, pero no puedo desde powerbuilder, colocar la orientacion de la informacion; esto es Fila, columna y datos.
Muchas Gracias

Código: Seleccionar todo

st_estado.text = 'Creando Tabla dinamica...'

Oleobject l_objrange_1, l_objrange_2, l_objSheet_2, l_objDataSupplier, l_objData, l_objDataDescript, &
	l_objFields, l_objField, l_objTable, l_objProp

// Hojas tabla Dinamica
l_objSheet_2 = l_objSheets.getByIndex(1)	
l_objSheet_2.setName("Tabla Dinamica")

// Rango Datos
l_objrange_1 = l_objServiceManager.Bridge_GetStruct('com.sun.star.table.CellRangeAddress')
l_objrange_1.Sheet = 0
l_objrange_1.StartColumn = 0
l_objrange_1.StartRow = 0
l_objrange_1.EndColumn = li_columna - 1
l_objrange_1.EndRow = li_fila - 1

// Rango Tabla Dinamica
l_objrange_2 = l_objServiceManager.Bridge_GetStruct('com.sun.star.table.CellAddress')
l_objrange_2.Sheet = 1
l_objrange_2.Column = 1
l_objrange_2.Row =1

l_objTable = l_objSheet_2.getDataPilotTables()
l_objDataDescript = l_objTable.createDataPilotDescriptor() 
l_objDataDescript.SetPropertyValue("IgnoreEmptyRows",1)
l_objDataDescript.SetPropertyValue("ShowFilterButton",1)
l_objDataDescript.SetSourceRange(l_objrange_1) 

// Testing
//l_objDataDescript.getDataPilotFields().GetByIndex(0).setPropertyValue("Orientation", "com.sun.star.sheet.DataPilotFieldOrientation.ROW")  
//l_objDataDescript.getDataPilotFields().GetByIndex(1).setPropertyValue("Orientation", "com.sun.star.sheet.DataPilotFieldOrientation.COLUMN")  
//l_objDataDescript.getDataPilotFields().GetByIndex(2).setPropertyValue("Orientation", "com.sun.star.sheet.DataPilotFieldOrientation.DATA")  
//l_objSheet_2.getDataPilotTables().insertNewByName('Tabla Dinamica', l_objrange_2, l_objDataDescript) 

// Filas
for ll_item_fil = 1 to ll_items_fil
	ls_filas = tab_1.tabpage_din.dw_filas_din.object.columna[ll_item_fil]
	
	l_objFields = l_objDataDescript.getRowFields() 
	l_objField = l_objFields.GetByName(ls_filas) 
	l_objField.setPropertyValue("Orientation", "com.sun.star.sheet.DataPilotFieldOrientation.ROW")  
	//l_objField.SetPropertyValue("ShowEmpty", 1)  							
next

// Columnas
for ll_item_col = 1 to ll_items_col
	ls_columnas = tab_1.tabpage_din.dw_col_din.object.columna[ll_item_col]
	
	l_objFields = l_objDataDescript.getColumnFields() 
	l_objField = l_objFields.getByName(ls_columnas) 
	l_objField.setPropertyValue("Orientation", "com.sun.star.sheet.DataPilotFieldOrientation.COLUMN")   
	//l_objField.SetPropertyValue("ShowEmpty", 0)  							
next						

// Datos
for ll_item_dat = 1 to ll_items_dat
	ls_datos = tab_1.tabpage_din.dw_dato_din.object.columna[ll_item_dat]
	
	l_objFields = l_objDataDescript.getDataFields() 
	l_objField = l_objFields.getByName(ls_datos) 
	l_objField.setPropertyValue("Orientation", "com.sun.star.sheet.DataPilotFieldOrientation.DATA") 
	l_objField.setPropertyValue("Function", "com.sun.star.sheet.GeneralFunction.SUM") 
	//l_objField.SetPropertyValue("ShowEmpty", 0) 
next	
l_objTable.insertNewByName('Tabla Dinamica', l_objrange_2, l_objDataDescript) 
OpenOffice.org 3.1
Responder