| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Трабла с DataGridViewImageColumn |
| Автор: allknower 16.9.2008, 10:51 | ||
Здравствуйте. У меня вопрос по DataGridView. На форме на одной из страниц TabControl'a лежит экзампляр грида (procMGrid), в нем добавлена колонка DataGridViewImageColumn (Name = PROC_STATUS). В момент выбора этой страницы вызывается следующий код, который получает DataTable и привязывает его к гриду. После чего foreach'ем проходится по строкам и в зависимости от значения колонки PROCESS_TYPE выставляет ту или иную картинку в Image-колонке.
Внимание вопрос: при ПЕРВОМ проходе выполняется все это, по картинок в Image-колонке нет. (value = null) В результате трейса по коду выяснилось что после выполнения представленного выше кода выполняются накопившиеся в буфере event'ы (такие как RowEnter и т.п.), которые вызываются с "уже не актуальными параметрами" (например в момент привязки датасорса к гриду, генерится событие в момент когда первая строка добавляется. В этот момент grid.Rows.Count = 1, "ImageCol".Value = null.) Может это как то влияет... Как это все можно забороть??? После повторного переключения на эту страницу все отображается нормально. Зарание спасибо. |
| Автор: allknower 19.9.2008, 08:29 | ||||
| Сделал так: в грид добавил все необходимые для отображения колонки (нужных типов) и установил их свойства DataPropertyName. Далее кинул на форму BindingSource и код стал таким:
Добавил обработчик события CellFormatting(...)
И фсё!!! |