Я пытаюсь автоматически выбрать первый элемент в отфильтрованной таблице.
По сути, я делаю следующее:
table = new TableViewer(...);
table.addFilter(filter);
table.setContentProvider(contentProvider);
table.setInput(input);
first = table.getElementAt(0);
table.setSelection(new StructuredSelection(first));
Удивительно, что (в зависимости отфильтр) Я могу получить элемент, который отфильтрован из getElementAt(0)
.В результате ни один элемент не будет выбран.
Я пытался вызвать table.refresh()
, прежде чем получить элемент с такими же результатами.
Если я позвоню getElementAt(0)
на более позднем этапеЯ действительно получаю правильный первый элемент (который не отфильтрован).
Как я могу заставить getElementAt
немедленно соблюдать фильтрацию?