powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / grid_Paint
8 сообщений из 8, страница 1 из 1
grid_Paint
    #32704231
Lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеются grid (DataGrid) и таблица table (DataTable)
Как в обработчике события
grid_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
...
}
получить доступ к ячейке которую отрисовывает программа в этот момент?
...
Рейтинг: 0 / 0
grid_Paint
    #32704289
Стр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по clip координатам можно выяснить через HitInfo грида диапазоны строк/колонок для перерисовки
...
Рейтинг: 0 / 0
grid_Paint
    #32704297
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LanИмеются grid (DataGrid) и таблица table (DataTable)
Как в обработчике события
grid_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
...
}
получить доступ к ячейке которую отрисовывает программа в этот момент?

Ни как. Нет возможности узнать, какая ячейка отрисовывается в данный момент.

PS: Что ты такое делаешь, что тебе нужно это знать?
...
Рейтинг: 0 / 0
grid_Paint
    #32704360
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно по-подробнее, для чего это нужно?
может имеет смысл унаследоваться от DataGridTextBoxColumn и создать стиль с перегруженным методом OnPaint.
Там можно будет достучаться до ячейки...
...
Рейтинг: 0 / 0
grid_Paint
    #32704459
Lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я чего-то не понимаю, но на мой взгляд задача достаточно очевидная.
Для того, чтобы программа раскрашивала ячейки грида в зависимости от значений данных в таблице нужно знать это значение. Но, во входных параметрах обработчика grid_Paint(...) этой информации нет. Как же тогда определять какую кисть подсовывать или еще какую-нибудь графику втыкать в ячейку грида. Например, в дельфях такую информацию при отрисовке получить можно было.
...
Рейтинг: 0 / 0
grid_Paint
    #32704497
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про раскрашивание ячеектема ни раз обсуждалась. есть несколько продходов - ищи по форуму.
в самом простом случае:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public class GridColoredColumn : DataGridTextBoxColumn
{
	protected override void Paint(System.Drawing.Graphics g, System.Drawing.Rectangle bounds,
		System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Brush backBrush, 
		System.Drawing.Brush foreBrush, bool alignToRight)
	{
		object obj = this.GetColumnValueAtRow(source, rowNum);
		 //в зависимости от obj определяешь backBrush и foreBrush 
		base.Paint(g, bounds, source, rowNum, backBrush, foreBrush, alignToRight);
	}
}
...
Рейтинг: 0 / 0
grid_Paint
    #32704509
Lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буду искать. Спасибо.
...
Рейтинг: 0 / 0
grid_Paint
    #32704512
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотел сказать:
тема раскрашивания ячеек - обсуждалась много раз. есть несколько подходов - ищи по форуму.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / grid_Paint
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]