Я разрабатываю инструмент для отображения всех записей журнала в DataGridView. Журналы хранятся в хронологическом порядке в DataTable dt
. Журналы имеют три типа серьезности: ошибка, информация и подробный.
Строки журнала также сгруппированы по действиям. Таким образом, вместе с этим DataTable существует также связанный список. Для каждого действия я сохраняю номер первой строки и номер последней строки в DataTable dt
.
Функция, с которой у меня возникают трудности, заключается в переходе к первым строкам, соответствующим выбранному действию, но отфильтрованным по серьезности, например отображать только строки журнала ошибок и переход к первой строке ошибки в выбранном действии. Я пытаюсь использовать:
logGridView.FirstDisplayedScrollingRowIndex = selectedActivity.ActivityStartLine;
(logGridView.DataSource as DataTable).DefaultView.RowFilter = "Severity >= " + severity;
Однако этот код не работает для ошибок серьезности и информации, поскольку строки журнала были отфильтрованы, исходный индекс selectedActivity.ActivityStartLine
больше не имеет смысла в новых отфильтрованный список журналов. Как я могу получить новый индекс после применения фильтра и вместо этого перейти к этой строке?