Возможно, это не прямой ответ на ваш вопрос, но вы можете посмотреть на список объектов
http://objectlistview.sourceforge.net/cs/index.html
Он на самом деле оборачивает ListView, но имеет много возможностей, включая чтение данных из базы данных, насколько я помню. Это предусматривает редакторов в ячейке. Для стандартных вещей, таких как цвета, он имеет встроенный редактор ячеек. Если это не сработает, вы можете бросить свои собственные.