Не понятен этот кусок кода, а конктетно обращение table.DataSet, DataTable ведь меньше DataSet, что оно возвращает?
DataSet с одним DataTable? или могут быть ситуации, когда вернёться DataSet с несколькими таблицами?
table = (DataTable) dataGrid1.DataSource;
// Return the DataTable's DataSetreturn table.DataSet