Я знаю, что это старый вопрос, но вот бесплатный и всеобъемлющий элемент управления списком / просмотром дерева, который я нашел в проекте кода Phillip Piper под названием ObjectListView .
Имеет все стандартные функции и многое другое. Это хорошо продумано и профессионально сделано. Я думаю, что это легко противостоит популярным коммерческим решениям. Я бы порекомендовал его любому разработчику, который ищет бесплатный многофункциональный элемент управления списком / просмотром дерева для своего приложения winforms.
http://www.codeproject.com/Articles/16009/A-Much-Easier-to-Use-ListView
- Он легко преобразует коллекцию объектов модели в полнофункциональный ListView, включая автоматическую сортировку и группировку.
- Он может легко редактировать значения, показанные в ListView.
- Он поддерживает флажки с тремя состояниями (вкл, выкл, неопределенный), даже в виртуальном режиме и на подпунктах.
- Он поддерживает настраиваемые подсказки для ячеек и заголовков столбцов.
- Он может легко создавать хорошие отчеты из ListView.
- Поддерживаются все представления ListView (отчет, плитка, большие и маленькие значки).
- Поддерживает рисование владельца, включая рендеринг анимированных GIF-файлов.
- Его столбцы могут быть фиксированной ширины или ограничены минимумом / максимумом.
- Показывает настраиваемое сообщение «список пуст», когда список пуст (очевидно).
- Высота строки может быть задана явно.
- Поддерживает выбор пользователем видимых столбцов нажатием правой кнопки мыши на заголовке.
- Поддерживаются столбцы, автоматически изменяющие размер для заполнения любой незанятой ширины.
- Поддерживается горячее отслеживание, с изменением шрифта / цвета текста и с украшениями.
- Он поддерживает наложения изображений и текста, а также произвольные наложения (поле для личной информации) и украшения (сердца любви).
- Имеет расширенную поддержку перетаскивания.
- Поддерживает гиперссылки в ячейках.
- Он поддерживает стилизацию заголовков столбцов (нормальное, горячее и нажатое состояния), плюс изображения и даже вертикальный текст.
- Он поддерживает множество параметров группового форматирования, включая складные группы. Группы могут отображаться в виртуальных списках!
- Имеется версия ( TreeListView ), которая объединяет древовидную структуру со столбцами ListView.
- Имеется версия ( VirtualObjectListView ), которая поддерживает миллионы строк.
- Имеется версия ( FastObjectListView ), которая может создать список из 100 000 объектов менее чем за 0,1 секунды.
- Имеется версия ( DataListView ), которая поддерживает привязку данных, и другая (FastDataListView), которая поддерживает привязку данных для больших (более 100 000) наборов данных.
- Это упрощает реализацию вашего собственного виртуального списка через интерфейс IVirtualListDataSource.
- Поддерживает фильтрацию, в том числе показывает и выделяет строки, соответствующие заданной строке (включая совпадения регулярных выражений и префиксов).
- Поддерживает анимацию для ячейки, строки или всего списка. [V2.4]
- Поддерживает фильтрацию в стиле Excel. [V2.5]