Как остановить datatable RowFilter динамически обновляя - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть данные, которые я фильтрую с этим rowfilter:

        requestsTableAdapter.Fill(iTSTDataSet.Requests);

        DataTable adt = iTSTDataSet.Requests;
        var adv = new DataView(adt);
        adv.RowFilter = "Closed = " + false;
        dataGridView1.DataSource = adv;

Он отлично работает и фильтрует datatable и показывает только те строки, где closed = false.

Проблема в том, что когда я нажимаю на флажок и устанавливаю другую строку закрытой, эта строка автоматически исчезает из datagridview.

enter image description here

Я не хочу этого, я хочу обновить вид, когда я нажимаю кнопку.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Не могли бы вы просто отложить добавление фильтра строк на dataView, пока не нажмете кнопку?Это должно позволить вам установить флажки, чтобы показывать статус, но останавливать исчезновение строк до тех пор, пока вы этого не захотите.

Это будет означать, что вам нужно будет сделать dataView доступным, откуда бы ни исходила команда, но это слишком большая проблема?

Редактировать

Вы можете получить исходную таблицу данных минус закрытые элементы, используя таблицу данных, выбранную в начале: iTSTDataSet.Requests.Select("Closed = false")

и затем примените фильтр строки к нажатию кнопки

0 голосов
/ 15 февраля 2019

Я думаю, что у вас есть фильтр, который показывает только строки, которые не закрыты (Где закрыто = ложь), поэтому вы можете просто захотеть отфильтровать по «Закрыто», а затем выбрать «По возрастанию» или «По убыванию», одна из которых может быть правильным решением.

...