Я пытаюсь выполнить функцию поиска для dataTable. Моя проблема в том, что первая строка таблицы ВСЕГДА находится в отфильтрованных строках, даже если логический столбец фактически изменен на нуль. Вот мой код поиска:dataTable.DefaultView.Rowfilter всегда возвращает первую строку
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";
}
Странно. Это не должно. Вы уверены, что первая строка на самом деле установлена в 0? – CathalMF
100%, я сделал столбец видимым для проверки. –