Изменить заполнение для всех ячеек в одном столбце DataGridView - PullRequest
8 голосов
/ 14 февраля 2012

У меня есть DataGridView в моем приложении C #.Используя конструктор, я установил AlternatingRowsDefaultCellStyle, а также свойства DefaultCellStyle на самом DGV.Оба этих стиля имеют значение заполнения 0, 0, 5, 0.Я не установил никаких пользовательских стилей ни для одного из столбцов DGV из меню Edit Columns в надстройке задач DataGridView.

В DGV есть один столбец, представляющий собой столбец изображения, который я рисую маленькимграфик для каждой строки.Я хотел бы удалить заполнение из всех ячеек в этом столбце, чтобы к ячейке не применялось заполнение, которое оставляет пробелы в конце графика.

Каждая из следующих попыток не удаляетсязаполнение из любых ячеек в столбце, но также не выдает никаких исключений.

// first attempt
// taken from http://social.msdn.microsoft.com/Forums/eu/winforms/thread/a9227253-8bb4-429a-a700-8a3a255afe4d
deviceGrid.Columns["GProduction"].DefaultCellStyle.Padding = new Padding(0);

// second attempt
DataGridViewCellStyle style = deviceGrid.Columns["Graph"].DefaultCellStyle; // also tried Clone()
style.Padding = new Padding(0);
deviceGrid.Columns["GProduction"].DefaultCellStyle = style;

// third attempt
DataGridViewColumn col = deviceGrid.Columns["Graph"];
DataGridViewImageCell icell = new DataGridViewImageCell();
icell.Style.Padding = new Padding(0);
col.CellTemplate = icell;

Я подозреваю, что, возможно, заполнение DefaultCellStyle из самого DataGridView переопределяет стиль ячейки по умолчанию, который я пытаюсьустановить для столбца, но если это так, что мне нужно сделать, чтобы предотвратить это?

РЕШЕНИЕ:
После перехода по ссылке jmh_gr я обнаружил, что проблема заключалась в том, что DefaultCellStyle для самого DataGridView наследуется LAST в ячейке, поэтому мне пришлось удалить заполнение из свойств DGV и применить его ко всем столбцам, кроме того, который я не хотел заполнятьна.

Ответы [ 2 ]

4 голосов
/ 15 февраля 2012

После перехода по ссылке , предоставленной jmh_gr, я обнаружил, что проблема заключалась в том, что DefaultCellStyle для самого DataGridView наследуется LAST в ячейке.

Решением было удаление заполнения изСвойства DGV и примените его ко всем столбцам, кроме того, для которого не требуется заполнение.

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

Вот как мы можем добавить заполнение в ячейку заголовка DataGridView

        dgv.Columns["col1"].HeaderCell.Style.Padding = new Padding(0, 5, 0, 0)
        dgv.Columns["col2"].HeaderCell.Style.Padding = new Padding(0, 5, 0, 0)

этот код должен быть добавлен в Конструктор или OnLoad(...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...