Есть пустой DataGridViewкоторый привязан к источнику данных, и настроен на отображения двух столбцов Id и Name.
Нужно отфильтровать данные, по запросу введенным в TextBox.
Фильтрацию делаю с помощью
var selected = db.Products.Where(p => p.Name.ToString().StartsWith(textBox1.Text)).OrderBy(p => p.Name);
foreach (var item in selected)
{
dataGridView1.Rows[i].Cells[0].Value = item.Id;
dataGridView1.Rows[i].Cells[1].Value = item.Name;
}
i - счетчик строк, но когда он равен 1, происходит ошибка "Индекс за приделами диапазона".
Добавлять строку с помощью метода Rows.Add() тоже не получается, программно нельзя добавить строки в Grid с привязкой данных.
Такой способ работает если Grid не привязан к данным. Мне надо работать с привязкой данных.
Можно просто обновлять источник данных:
dataGridView1.DataSource = selected.ToArray();
Скорее, нужно приводить не к Array, a к списку - ToList();.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости