I guess you mean you are binding a datagrid to one of any of these 9 tables and not selecting columns from each of them. You can either go with the default widths for the columns. They usually resize themselves pretty well. Or you would have to dynamically create template columns depending on which table you are selecting into the datagrid.
You could also store the widths you would like for each column (using your method of choice -- array, db table, etc). Then set each column width based on field name.<BR><BR>NewCol.ItemStyle.Width = system.Web.UI.WebControls.Unit.Percentage(GetWidth ForField(FieldName))