Ответы пользователя по тегу Windows Forms
  • В DataGridView появляются лишние строки после применения фильтра TreeView, как исправить?

    SpacePurr
    @SpacePurr
    c#, wpf
    На сколько я понял, лишняя строка, которая появляется - это выделенная строка в CurrencyManager.
    Я смог найти два подхода к решению этой проблемы:
    • Отключить CurrencyManager в начале метода фильтрации по дереву
      CurrencyManager currencyManager = (CurrencyManager)BindingContext [dataGridView1.DataSource];
      currencyManager.SuspendBinding();

      Отключение сделает недоступным некоторые возможности, например CurrentRow, CurrentCell и, возможно, еще что-то.

    • Переключать выделение на одну из строк, которые должны быть видимыми.
      dataGridView1.CurrentCell = this.dataGridView1[columnNumber, visibleRowNumber];

      Однако, этот вариант не работает в случае, когда все строки должны быть скрыты.
    Ответ написан