No se pueden colorear las celdas en varias columnas a través de la listaEstoy tratando de formatear varias columnas para cambiar el color por el valor de la celda usando una lista de nombres de columnas específicos, pero mi código solo formatea la primera columna de la lista.
¿Cómo obtengo el resto de las columnas de la lista para formatear también?
Names Default to Here( 1 );
Test_DT = New Table( "Test",
New Column( "No Color", set values( {2,2,2,2,2,2} ) ),
New Column( "1-1", set values( {0,1,0,0} ) ),
New Column( "2-1", set values( {0,0,0,1} ) ),
New Column( "3-1", set values( {0,0,0,0,4} ) )
);
Col_List = Test_DT << Get Column Names( string );
For( i = Nitems( Col_List ), i > 0, i--,
If( !Contains( Col_List[i], "-"),
Remove from( Col_List, i )
)
);
For( i = 1, i <= N Row( Test_DT ), i++,
If( Column( Col_List )[i] >= 1,
Column( Col_List ) << Color Cells( light orange, {i} )
)
);
Re: No se pueden colorear las celdas en varias columnas a través de la listaTambién debes recorrer col_list.
Names Default to Here( 1 );
Test_DT = New Table( "Test",
New Column( "No Color", set values( {2,2,2,2,2,2} ) ),
New Column( "1-1", set values( {0,1,0,0} ) ),
New Column( "2-1", set values( {0,0,0,1} ) ),
New Column( "3-1", set values( {0,0,0,0,4} ) )
);
Col_List = Test_DT << Get Column Names( string );
For( i = Nitems( Col_List ), i > 0, i--,
If( !Contains( Col_List[i], "-"),
Remove from( Col_List, i )
)
);
For( i = 1, i <= N Row( Test_DT ), i++,
for (k = 1, k <= nitems(col_list), k++,
If ( Column( Col_List[k] )[i] >= 1,
Column( Col_List[k] ) << Color Cells( light orange, {i} )
);
);
);Re: No se pueden colorear las celdas en varias columnas a través de la listaHiciste algo que yo he hecho muchas veces. Está intentando hacer referencia a un valor de celda, pero no indica qué fila. Eche un vistazo al código a continuación, que está funcionando. Además, estaba comparando si yo era gt 1, y para los resultados que desea, debería ser> =.
Names Default To Here( 1 );
Test_DT = New Table( "Test",
New Column( "No Color", set values( {2, 2, 2, 2, 2, 2} ) ),
New Column( "1-1", set values( {0, 1, 0, 0} ) ),
New Column( "2-1", set values( {0, 0, 0, 1} ) ),
New Column( "3-1", set values( {0, 0, 0, 0, 4} ) )
);
Col_List = Test_DT << Get Column Names( string );
For( i = N Items( Col_List ), i > 0, i--,
If( !Contains( Col_List[i], "-" ),
Remove From( Col_List, i )
)
);
For( ColNum = 1, ColNum <= N Items( Col_List ), ColNum++,
For( i = 1, i <= N Row( Test_DT ), i++,
If( (Column( Col_List[colNum] )[i]) >= 1,
As Column( Col_List[ColNum] ) << Color Cells( light orange, {i} )
);
)
);Re: No se pueden colorear las celdas en varias columnas a través de la listaNo pude resistir una ligera mejora. Recoge todas las filas en una matriz para una columna y establece los colores de una vez. Más eficiente que una fila a la vez. Tuvo que usar como columna en el obtener filas donde cláusula.
Names Default to Here( 1 );
Test_DT = New Table( "Test",
New Column( "No Color", set values( {2,2,2,2,2,2} ) ),
New Column( "1-1", set values( {0,1,0,0} ) ),
New Column( "2-1", set values( {0,0,0,1} ) ),
New Column( "3-1", set values( {0,0,0,0,4} ) )
);
Col_List = Test_DT << Get Column Names( string );
For( i = Nitems( Col_List ), i > 0, i--,
If( !Contains( Col_List[i], "-"),
Remove from( Col_List, i )
)
);
for (k = 1, k <= nitems(col_list), k++,
one_col = Col_List[k];
orange_rows = test_dt << get rows where(as column(test_dt, one_col) >= 1);
if (nrows(orange_rows) > 0,
Column(test_dt, one_col) << Color Cells( light orange, orange_rows );
);
);Re: No se pueden colorear las celdas en varias columnas a través de la listaEso funcionó maravillosamente. ¡Gracias!