You can use your data to change visibility of the button columns like this:
replace
array(
'class'=>'CButtonColumn',
),
with something like this:
array(
'class'=>'CButtonColumn',
'template'=>'{view}{update}{delete}',
'buttons'=>array(
'update'=>array(
'visible'=>'$data->cust == "ST50"',
),
),
),
but it won't keep the spacing when the button is not visible. I'll leave that to you. You can customize other attributes of CButtoncolumn here's a couple of refs: here and here