Group an array in Powerbuilder

0

I need to group an array of rows, columns and value, this is what I have so far:

But I need to see it this way:

Here is the script that you make:

long b,c
string ls_resultado, ls_resultado_cab, ls_resultado_det, ls_separador

ls_separador = "|"

//creamos estructuras para almacenar los datos
s_fichas str_filas[], str_columnas[]

str_filas[1].columna = "100"
str_filas[1].fila = "heineken"
str_filas[1].valor = "5"


str_filas[2].columna = "200"
str_filas[2].fila = "pulp"
str_filas[2].valor = "3"

str_filas[3].columna = "300"
str_filas[3].fila = "puro sol"
str_filas[3].valor = "1"

str_filas[4].columna = "1000"
str_filas[4].fila = "puro sol"
str_filas[4].valor = "10"

str_filas[5].columna = "1000"
str_filas[5].fila = "heineken"
str_filas[5].valor = "6"

str_columnas[1].columna = "100"
str_columnas[1].fila = "heineken"
str_columnas[1].valor = "5"

str_columnas[2].columna = "200"
str_columnas[2].fila = "pulp"
str_columnas[2].valor = "3"

str_columnas[3].columna = "300"
str_columnas[3].fila = "puro sol"
str_columnas[3].valor = "1"

str_columnas[4].columna = "1000"
str_columnas[4].fila = "puro sol"
str_columnas[4].valor = "10"

str_columnas[5].columna = "1000"
str_columnas[5].fila = "heineken"
str_columnas[5].valor = "6"


    //Encabezado
    for b = 1 to upperbound(str_columnas[])

        //nombre de la matriz
        if b = 1 then
            ls_resultado_cab = "Matriz"
        end if

        if ls_resultado_cab = '' then
            ls_resultado_cab = str_columnas[b].columna
        else
            ls_resultado_cab += ls_separador + str_columnas[b].columna
        end if

        ls_resultado_det += str_columnas[b].fila + ls_separador

        //Detalle fila, valor
        for c = 1 to upperbound(str_filas[])

            if c = b then
                ls_resultado_det += str_filas[c].valor
            else
                ls_resultado_det += ls_separador
            end if

            if c = upperbound(str_filas[]) then
                ls_resultado_det += "~r~n"      
            end if          
        next        
            if b = upperbound(str_columnas[]) then
                ls_resultado_cab += "~r~n"      
            end if  
    next

messagebox("Aviso", ls_resultado_cab + ls_resultado_det)
    
asked by omelgarejo 03.11.2018 в 16:16
source

0 answers