You can try to subscribe to the DataaView''s ListChanged event. There is the type is a Reset, then you can do your resize. Here is code that work for me in our GridFilterBar sample.
//at the bottom of SetTableIntoGridAndWireFilterBar
DataTable dt = this.gridDataBoundGrid1.DataSource as DataTable;
if(dt != null)
{
dt.DefaultView.ListChanged += new ListChangedEventHandler(DefaultView_ListChanged);
}
//handler
private void DefaultView_ListChanged(object sender, ListChangedEventArgs e)
{
if(e.ListChangedType == ListChangedType.Reset)
{
this.gridDataBoundGrid1.Model.ColWidths.ResizeToFit(GridRangeInfo.Table());
}
}