Проблема фильтрации DataGridView - PullRequest
0 голосов
/ 29 марта 2011

Я знаю, что задавал этот вопрос уже много раз, но я получил ответ, который может мне помочь.Пожалуйста, нужен совет, я уже пытаюсь сделать это 1 неделю или больше.

У меня есть пользовательский контроль, где моя dataGrid.есть панель инструментов С кнопкой, которая открывает форму поиска, есть одна кнопка и один текстовый блок.При нажатии на эту кнопку я вызываю метод Search() следующим образом:

private void btnFind_Click_1(object sender, EventArgs e) { Inventory i = new Inventory(); i.Search(txtFind.Text); }, и вот как метод Search работает:

public void Search(string searchWord) 
    {
        AcidDBDataContext db = new AcidDBDataContext();
        var q = db.ProcSearch(searchWord);
        dgvInventory.DataSource = q;
    }

этот метод отлично работает в инвентаре, но когдая нажимаю btnFind, ничего не делая, я использовал отладчик и увидел, что запрос выполняется правильно, и получил строки из таблицы.Проблема в этой строке: dgvInventory.DataSource = q;

Я использую c # winForms и SQL Server 2008

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Вы можете использовать BindingSource

BindingSource bs = new BindingSource();

, а затем в Поиске (строка поиска)

//dgvInventory.DataSource = q;
bs.DataSource = q;
if (dgvInventory.DataSource == null)
    dgvInventory.DataSource = bs;
else
    bs.ResetBindings(false);
1 голос
/ 29 марта 2011

Вы пробовали dgvInventory.ResetBindings ()?

[Редактировать: ошибочно указано. Обновить вместо .ResetBindings]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...