Динамически Установка шрифта для ячейки DatagridView - PullRequest
2 голосов
/ 01 декабря 2011

По моему winform использую DataGgridView В некотором сценарии я хочу установить специальный шрифт для некоторого столбца, и я достигаю этого, используя следующий код

this.grvInvoice.Columns["mat_Name"].DefaultCellStyle.Font = new Font("Verdana", 14);

Но я хочу установить определенный шрифт и размер только для некоторой ячейки. я попробую следующий код

grvRequest.Rows[i].Cells["item"].Style.Font = new Font("Verdana", 14);

Но это не работает. Можно ли set specific font and size dynamically to a cell of DataGridView

Ответы [ 5 ]

5 голосов
/ 01 декабря 2011

Вы можете установить отдельный стиль для каждой ячейки, используя этот код:

DataGridViewCell cell=null;
// Get a cell you need here
cell.Style = new DataGridViewCellStyle()
{
        BackColor = Color.White,
        Font = new Font("Tahoma", 8F),
        ForeColor = SystemColors.WindowText,
        SelectionBackColor = Color.Red,
        SelectionForeColor = SystemColors.HighlightText
};

Но если вы не видите никаких результатов, это может означать, что вы установили какой-то стиль на родительском уровне, и этот стиль переопределяет ваш.

Подробнее см. В параграфе Наследование стилей этой статьи: Стили ячеек в элементе управления Windows Forms DataGridView .

3 голосов
/ 23 декабря 2011

Возможно, это не так, как кажется.У меня был похожий инцидент.Я создал стиль

private System.Windows.Forms.DataGridViewCellStyle styleRed = new System.Windows.Forms.DataGridViewCellStyle();

и затем применил этот стиль к каждой ячейке в строке

dgvOnForm.Rows[iRow].Cells[i].Style = styleRed;

Затем я хотел подчеркнуть одну ячейку, но не другие.Все клетки были подчеркнуты.Это было не из-за наследования, из-за иногда упускаемой из виду фундаментальной основы объектно-ориентированного программирования.dgvOnForm.Rows[iRow].Cells[i].Style был фактически ссылкой на styleRed, и все ячейки имели одну и ту же ссылку.Изменение любого из них изменило их всех.Я не могу поверить, что искал так долго, пока меня не осенило.Исправлено было создание «нового» стиля для каждой ячейки, чтобы они не разделяли одну и ту же ссылку.

0 голосов
/ 23 августа 2016

Попробуйте это Me.DataGridView1.Columns (1) .DefaultCellStyle.Font = Новый шрифт ("Tahoma", 11)

0 голосов
/ 27 июля 2015

попробуйте это. Он отлично работает

.Columns (1) .DefaultCellStyle.Font = Новый шрифт («Требушет MS», 11, FontStyle.Underline)

0 голосов
/ 01 декабря 2011

Пожалуйста, попробуйте использовать ниже код:

grvRequest.Rows[i].Cells[0].Style.Add("font-family","Verdana");
grvRequest.Rows[i].Cells[0].Style.Add("font-size", "14");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...