Добавление новой строки в правильном положении к отсортированному пользователем wingrid с bindingsource

StackOverflow https://stackoverflow.com/questions/658967

Вопрос

У меня есть Infragistics UltraGrid с использованием bindingSource.

Если я добавляю новый объект в свой список привязок, он добавляет строку в конец сетки, что хорошо, если нет определенной пользователем сортировки.

Вопрос: если пользователь щелкает заголовок столбца, чтобы отсортировать сетку, есть ли способ, чтобы новые строки отображались в правильном отсортированном порядке, а не всегда внизу?

Пересортировка всех строк на каждой вставке слишком дорога.

Это было полезно?

Решение

Кажется, что-то вроде гетто. Поддержка инфраструктуры также показала, что метод RefreshSortPosition () является единственным выбором.

// Add to binding list which will trigger a row to be added to the bound ultragrid.
this.bindingList.Add(new Person("Smith", "John"));

// Get length since we know this will always be added to the end
int length = this.ultraGrid.Rows.All.Length;

// Get it to sort
this.ultraGrid.Rows[length - 1].RefreshSortPosition();

Чтобы быть немного более эффективным, вы всегда можете проявить смекалку, отключив перерисовку и т. д., а затем вызвав команду refresh для ряда строк после пакета заказов и т. д.

Надеюсь, это поможет. Мне очень не повезло, гуглил эту проблему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top