Столбцы являются массивом, поэтому вы можете добавлять код к любой функции, делающей их невидимыми, и проходить через этот массив, устанавливая ширину каждого из них. Вам просто нужно будет следить за шириной вашей таблицы данных и количеством видимых столбцов, что вы также можете сделать с помощью цикла. Вот некоторый непроверенный код, который должен приблизить вас к вашей цели:
function makeAColInvisible():void{
//code you use to set col invisible
var visColCount:number = 0;
for each (var item:DataGridColumn in myDataGrid.columns){
if(item.visible == true){
visColCount++;
}
}
for each (var item2:DataGridColumn in myDataGrid.columns){
item2.width = myDataGrid.width / visColCount;
}
}