Thank you Tobias.
I can confirm the above method works.
If I wanted to use the above example on two different column substitutions, would the code below be the correct/efficient method?
"aoColumnDefs": [ { "bVisible": false, "aTargets": [ 1,3 ] }, { "iDataSort": 1, "aTargets": [ 2 ] }, { "iDataSort": 3, "aTargets": [ 4 ] } ]
So I am hidding column 2 and column 4.
Column 2 has the sort data while column 3 has the display data.
Column 4 has the sort data while column 5 has the display data.