Первый пост, но долгое время браузер:)
Итак, вот моя проблема: в основном у меня есть сетка данных, которую я использую для взаимодействия с пользователем. Во всех строках есть кнопка «информация», которая создает иллюзию, что она добавляет еще одну строку под ней со всеми объединенными ячейками (одна длинная ячейка по всей строке) и рисует текст и изображения, описывающие строку над ней на «информационную ячейку».
Это прекрасно работает, за исключением случаев, когда сетка данных прокручивается вертикально, тогда кажется, что картина не вызывается, и сетка выглядит испорченной. Есть идеи?
Вот основная схема кода:
private void grid_CellPainting(object sender, DataGridViewCellPaintingEventArgs e){
// Loop through and draw all of the open information rows
foreach (int i in openInfoCells) {
if (i >= grid.FirstDisplayedCell.RowIndex &&
i <= (grid.DisplayedRowCount(true) + grid.FirstDisplayedCell.RowIndex)) {
// Draw Rectangle
....
// Draw Text or Image
....
}
}
}