У меня есть DataGridView
с некоторыми данными. У меня также есть поиск TextBox
, и когда его текст изменяется, я хочу искать в DataGridView
без изменения данные в оригинале DataGridView
.
Когда клиент пишетВ своей строке поиска, DataGridView
сделает одну из этих опций:
- Показать только строку, соответствующую строке поиска,
- или переместит клиента в строку и выделитэто (лучше, чем 1).
При поиске в StackOverflow я мог найти похожие случаи, но не смог применить ни одно из их решений в моей программе.
Это код, который у меня такдалеко:
private void search_TextChanged(object sender, EventArgs e)
{
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter =
string.Format("name = '{0}'", search.Text);
}
Но он показывает только пустое DataGridView
, хотя у меня должен быть результат.
Я добавил к своей функции класса Fund, которая ищет все имена в списке:
public static List<Fund> findFundbyName(string name)
{
return funds.Where(c => c.name.Contains(name)).ToList();
}
, затем при обновлении DataGridView
я использовал эту функцию:
if (search.Text != "")
{
table = ConvertListToTable(Fund.funds, search.Text);
}
else
{
table = ConvertListToTable(Fund.funds, "");
}