Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
8 / 8 / 0
Регистрация: 29.09.2012
Сообщений: 47
1

Как перерисовать конкретную ячейку DataGridView

13.11.2012, 13:59. Показов 3007. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.

Использую примерно такой код для создания аналога ProgressBar в ячейке DataGridView.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    class DataGridViewProgressCell : DataGridViewImageCell
    {
        private int progressValue = 0;
 
        public void setProgress(Int64 c, Int64 m)
        {
            this.ProgressValue = (int)((c * 100) / m);
            this.DataGridView.Refresh();
        }
 
        protected override void Paint(System.Drawing.Graphics g,
            System.Drawing.Rectangle clipBounds,
            System.Drawing.Rectangle cellBounds,
            int rowIndex,
            DataGridViewElementStates cellState,
            object value, object formattedValue,
            string errorText,
            DataGridViewCellStyle cellStyle,
            DataGridViewAdvancedBorderStyle advancedBorderStyle,
            DataGridViewPaintParts paintParts)
        {
           ...
        }
    }
В данном примере существует одна проблема - когда задается значение прогресса, изображение автоматически не перерисовывается. Единственный способ, который я нашел, исправить эту ситуацию - обратиться к самому DataGridView и вызвать перерисовку всех ячеек. Но это довольно расточительно, когда реально перерисовать нужно только одну ячейку, тем более что при их большом количестве и частой перерисовке ощущается заметное "мигание".
Есть идея вызвать функцию Paint для конкретной ячейки, но непонятно откуда взять ее параметры.
Подскажите как исправить код надлежащим образом.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2012, 13:59
Ответы с готовыми решениями:

Как вывести конкретную ячейку из БД
Подскажите, пожалуйста. Как вывести значение этой ячейки (http://************/i07rmz) и записать его...

Как обратиться в конкретную ячейку ?
В ячейке С12 у меня цифра например 30 Мне надо идти не на ячейку С43 Range('C43').Select а на...

Как удалить конкретную ячейку из строки? каким запросом?
Как удалить конкретную ячейку из строки? каким запросом? везде описывается только как с помощью...

Как записать даные в конкретную ячейку существующего xls-файла?
Есть файл "Шаблон.xlsx" с тремя листами. Как из прграммы на C++Builder6 записать в конкретную...

1
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
13.11.2012, 15:00 2
Archont, посмотри на это http://msdn.microsoft.com/ru-r... s.90).aspx
0
13.11.2012, 15:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2012, 15:00
Помогаю со студенческими работами здесь

Как извлечь конкретную ячейку матрицы(вектора) в скалярном виде?
Здравствуйте, уважаемые форумчане! Большая работа проделана и в конце такой затык. :( Требуется...

Как картинку из файла jpeg поместить в конкретную ячейку Excel?
Здравствуйте! Подскажите, как картинку из файла jpeg поместить в конкретную ячейку excel с помощью...

Занести данные в конкретную ячейку Excel
заносим в excel в первом edit вводим любые данные во втором edit вводим номер самой ячейки в...

Dbgrid передать данные в конкретную ячейку другой таблицы
Есть проект подключил базу данных Acces. Эта же база подключена на четырех формах в четыре разных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru