Oh, I have an idea ... How many rows will you display ?
Maybe you could read your data, determining the row index of the dept.
Let's say row 2 kf 2 should be displayed as a red traffic light.
You could generate in a CSS file all the classes for that:
.line1kf2RedLight tr:nth-child(2) td:nth-child(2):before {
//Add the traffic light
}
Apply the css class to the crosstab and it should target only the department you were looking for. Am I right ?
Sorting the table should trigger the onResultChanged even on the datasource, enabling you to recalculate the lines index.
Obviously, if you have a lot of lines and KF ... a big css will need to be generated but it is manageable until SAP gives you something better.