dataTable.DefaultView.Rowfilter revenant toujours première ligne

J'ai essayé de faire une fonction de recherche pour une dataTable. Mon problème est que la première ligne de la table est TOUJOURS dans les lignes filtrées, même lorsque la colonne booléenne est réellement changé à zéro.
Voici mon code de la recherche:

private void buscar()
    {
        DataTable dataTable;
        if (!verTodos)
        {
            dataTable = DBHelper.Instance.ProductosConStock();
        }
        else
        {
            dataTable = DBHelper.Instance.ProductosTodos();
        }
        dataGridProductos.DataSource = dataTable.DefaultView;
        foreach (DataGridViewRow row in dataGridProductos.Rows)
        {
            if (row.Cells[0].Value.ToString().ToUpper().Contains(txtBusqueda.Text.ToString().ToUpper()) ||
                row.Cells[1].Value.ToString().ToUpper().Contains(txtBusqueda.Text.ToString().ToUpper()) ||
                row.Cells[2].Value.ToString().ToUpper().Contains(txtBusqueda.Text.ToString().ToUpper()))
            {
                row.Cells[4].Value = 1;
            }
            else
            {
                row.Cells[4].Value = 0;
            }
        }
        dataTable.DefaultView.RowFilter = "mostrar = 1";
    }
Étrange. Il ne faut pas. Êtes-vous certain que la première ligne est effectivement mis à 0?
100%, j'ai fait la colonne visible afin de vérifier.

OriginalL'auteur Aya desarrollos | 2013-06-07