DataGridView, BindingSource и сортировка в vb.net

Я эмулирую функциональность старого приложения в VB.Net. У меня есть DataGridView в моей форме, которая привязана к BindingSource. У меня есть кнопка на панели инструментов, которая запускает диалог сортировки. Диалоговое окно сортировки позволяет сортировать до 3 столбцов.

Итак, я создаю строку из результатов диалога и устанавливаю с ней свойство BindingSource.Sort. Но это не обновляет мой DataGridView. Я пропустил шаг - мне нужно что-то сказать, чтобы обновить?


person ScottStonehouse    schedule 07.01.2009    source источник


Ответы (3)


Я только что попробовал это с помощью простого тестового приложения, и оно отсортировалось без необходимости вызывать какое-либо обновление. Можете ли вы опубликовать код? Вы уверены, что правильно строите строку Sort?

person BFree    schedule 07.01.2009
comment
Ответ в том, что он работает нормально - я сделал что-то глупое. Жаль, что я не могу допустить, чтобы вы все заглядывали мне через плечо. - person ScottStonehouse; 07.01.2009
comment
:) Спасибо, что приняли ответ, хотя это был не совсем ответ. Я подумал, что это должно быть какой-то простой недосмотр. - person BFree; 07.01.2009
comment
Пожалуйста, опубликуйте также свое решение. Я столкнулся с той же проблемой. - person Vijay Balkawade; 08.03.2012

Вам нужно вызвать метод DataGridView.DataBind()?

Я так привык к ASP.NET, что забыл про WinForms.

person TheTXI    schedule 07.01.2009

Что такое базовый объект и поддерживает ли он сортировку? Вы можете проверить через свойство .SupportsSorting (iirc). Если это DataTable, то все должно быть в порядке.

Вы пытались применить сортировку непосредственно к сетке?

Вы можете попробовать вызвать BindingSource.ResetBindings(false) после обновления свойства sort, просто на всякий случай, но это не обязательно.

person Andrew Backer    schedule 07.01.2009