Gracias hellscream !!. Era por eso
. Al final, necesitaba no solo hacer una copia de las filas de Filtrado en FiltradoCopia si esta ultima ya existe, sino crearla si no existe, en el momento que necesito hacer una copia de Filtrado. (ya que FiltradoCopia solamente tiene sentido crearla en el momento que necesite hacer la copia de seguridad de Filtrado, NO antes). (Si usaba
.Copy() al ya existir la tabla FiltradoCopia en el Dataset, al intentar agregarla de nuevo me daba una excepcion, incluso si la borraba del DataSet antes de usar
.Copy()).
Dejo el codigo del metodo por si a alguien le hace falta, espero que pueda usarlo quien esté interesado. Se que puede haber mejores soluciones pero funciona bien y no hay que hacer accesos a la BD, que era lo que yo quería evitar. (Si alguien sabe una solucion mejor al codigo que pongo ahora que lo suba asi igual le sirve a alguien).
El metodo
ResetearFiltrado() por el que pregunte inicialmente, se llamará una vez que deseamos Restaurar Filtrado con las filas que tenia al hacer la copia. En ese metodo, unicamente habría que:
1) Eliminar todas las filas de FiltradoDataSet.Tables["Filtrado"].Rows.Clear();
2) Importar las filas de FiltradoCopia a Filtradoint numFilas = DataSet.Tables["FiltradoCopia"].Rows.Count;
for (int i = 0; i < numFilas; i++){
DataSet.Tables["Filtrado"]. ImportRow(DataSet.Tables["FiltradoCopia"]. Rows
);
}//for
(aqui pongo cuando se hace la copia de seguridad de Filtrado)
private void CrearCopiaFiltrado(){
// SI FiltradoCopia YA EXISTE
if (DataSet.Tables.Contains("FiltradoCopia")){
// 1º) Borramos las filas que tenga
DataSet.Tables["FiltradoCopia"].Rows.Clear();
//2º) 'Importamos' las filas de Filtrado a FiltradoCopia
int numFilas = DataSet.Tables["Filtrado"].Rows.Count;
for (int i = 0; i < numFilas; i++){
DataSet.Tables["FiltradoCopia"]. ImportRow(DataSet.Tables["Filtrado"]. Rows);
}//for
}//if
else { // SI LA TABLA NO EXISTE
// 1º) Borramos los Tablestyles que tenga dataGridCli (cuyo DataMember es Filtrado)
dataGridCli.TableStyles.Clear();
// 2º) Hacemos una copia de Filtrado y copiamos su estruct y datos
DataTable copia = DataSet.Tables["Filtrado"];
copia = DataSet.Tables["Filtrado"].Copy();
//3º) le cambiamos el nombre antes de guardarla
copia.TableName = "FiltradoCopia";
//4º) la guardamos en el DataSet
DataSet.Tables.Add(copia);
// 5º) Agregamos de nuevo los TableStyles a DataGridCli
FormatoDataGridCli();
}//else
}//Crear
PD: Hellscream, gracias de nuevo